Пользователь
Information
- Rating
- 103-rd
- Location
- Петропавловск, Северо-Казахстанская обл., Казахстан
- Registered
- Activity
Specialization
Десктоп разработчик, Инженер встраиваемых систем
Pure C
Assembler
X86 asm
Win32 API
Visual Basic
MySQL
Git
ООП
Разработка электроники
Обратная разработка
Речь о РОН или о SIMD? Пример такой оптимизации можно?
Не похож. Он похож на бытовой кухонный прибор.
То что вы описываете — это real mode (реальный режим) работы процессора. Если вы телепортировались из 1981-го года, 80286 еще не выпущен, а есть только 8086 с его 20-битной адресной шиной (1 Мб адресуемой физпамяти), то это единственный возможный режим работы процессора. Тогда он еще не назывался real mode, потому что никаких других режимов попросту не существовало.
Но если вы пишите хотя бы из 1983-го, то уже выпущен 80286, а значит в нем есть защищенный режим (пока еще только 16-битный), а значит есть дескрипторы сегментов и дескрипторные таблицы, а значит есть возможность произвольного маппинга между сегментами и физической памятью, объем которой теперь ограничен не 1 Мб, а 16 Мб, потому что шина адреса увеличена до 24 бит с 20-ти. Произвольного — значит определяемого программистом, системным программистом, а не жесткой формулой, как в реальном режиме
Размер сегмента пока еще не может быть больше, чем 65536 (просто потому что процессор пока еще умеет только в 16 бит), но имея 16 Мбайтное пространство физической памяти, прикладной программе/задаче доступно виртуальное адресное пространство размером аж 1 Гб.
Hidden text
Какой в этом смысл, если, имея максимум лишь 16 Мб физпамяти, этот гигабайт виртуального адресного пространства можно лишь заполонить кучей копий (проекций) одних и тех же регионов 16 Мбайтной физпамяти?
А большой в этом смысл, поскольку наличие Present-бита в дескрипторе сегмента и соответствующего прерывания/исключения (при обращении к сегментам с P=0) дарует системным программистам (ОС-писателям) возможность реализовать сваппинг.
Только это был не страничный сваппинг (как привычно сейчас), а сегментный: выгружался/подгружался целый сегмент целиком.
В ранних версиях Windows вроде Win3.1 этот механизм использовался.
То есть при желании можно создать (инициализировать) до 16K сегментов размером до 64K каждый. Подчеркиваю: не пересекающихся сегментов (как в реальном режиме). 16K*64K=1G.
Помимо этого, у 80286 даже в реальном режиме адреса не урезались до 20 бит (шина-то теперь 24-битная), что породило такое явление, как HMA.
А потом в 1985-м году появился 80386, который мог все то же, что и 80286, но вдобавок к защищенному режиму появился 32-битный режим.
А значит каждый сегмент теперь мог иметь размер до 4 Гб (раньше был до 64K), а количество сегментов, которыми прикладная программа могла бы пользоваться, по прежнему составляло 16K, что дает виртуальное АП размером 64 Тб.
Размер шины адреса был увеличен до 32 бит, что давало до 4 Гб физпамяти (позже выпущенные црезанные версии 386SX в рассмотрение не берем).
По-прежнему отображение между 48-битным полным адресом (виртуальным) и 32-битным физическим адресом могло быть произвольным (задаваемым программистом). Только теперь был введен дополнительный уровень: виртуальный 48-битный адрес транслировался в 32-битный линейный, а затем 32-битный линейный в 32-битный физический.
С выключенной страничной организацией линейный был тождественен физическому. С включенной: преобразовывался через дерево PDBR->PDE->PTE.
А потом появился PAE и размер физических адресов был увеличен до 36 бит.
Зачем вы говорите о сегментах так, как можно было говорить только по состоянию на 1981-й год? Особенно учитывая то, что в 8086 сегментные регистры хоть и были, но самих сегментов как одной из фич защищенного режима — не было. Сегменты интересны именно в контексте защищенного режима — это же по сути высокоуровневый буфер с аппаратным контролем выхода за границы и аппаратным контролем доступа. Это возможность отдельные процедуры и микроблоки кода поместить в изолированные песочницы, такие, что если в них и есть какие-то уязвимости, пощволяющие завладеть управлениеи — сам факт получения управления хакерским кодом не давал бы ровно ничего: из условной функции подсчета md5-хеша большого объема данных просто некуда было бы джампнуть, чтобы сделать что-то нехорошее, да и никаких других данных такая задача просто бы не видела.
Но нет, человечество не заценило крутую технологию, предпочтя плоский режим, где завладев управлением можно джампнуть куда угодно и изменить любын данные, какие угодно.
Жужжали компоненты паяльной станции, главным образом трансформатор (обычный).
В результате было опасение за здоровье трансформатора в паяльной станции. У станций Lukey, особенноту семисотой серии трансформаторы не обладали большим «запасом прочности» и известно много случаев возгорания их трансформаторов, если с питающим направлением что-то не так.
Она не идиотская только от того, что вы её не поняли.
Потери на вихревые токи в пластинах сердечника пропорциональны квадрату частоты. Если на трансформатор, штатно рассчитанный на 50 Гц, подать 400 Гц, частота будет в 8 раз больше, а значит потери только на токи Фуко возрастут в 64 раза.
Авиасуда. Другие напряжение и частота 400 Гц.
Другие страны.
Электроподстанция с РЗА на постоянном опертоке, которая из-за какого-то отказа РЗА погашена, но можно было бы запитаться от батарей оперативного тока и подчиниться.
Не уверен, но и в метро вроде как свои напряжения и частоты.
Почему только недорогих? Практически любых, кроме самых дорогих
Не только ИБП, но и автомобильные инверторы, например. Я как-то ремонтировал паяльной станцией проводку в машине, питая её от машины через инвертор.
Жужжание стояло жуткое: достаточно в голове представить преобразование Фурье от меандра, и понять, что этот бесконечно убывающий ряд гармоник превращается в гул и тепло.
Гул
Неспособность работать от DC или нестандартного напряжения (фиксится доп. обмотками) и нестандантной частоты
В том числе — неприспособленность к работе от «модифицированной синусоиды».
Потери, вызванные несинусоидальной формой питающего напряжения, которая, в свою очередь, вызвана проблемой гармоник, кратных трём, которая, в свою очередь, вызвана изобилием в сети нагрузок с нелинейной характеристикой (главным образом БП без APFC).
Топорный перевод. Обычно топорный перевод палится по огромному количеству местоимений «это». Что-то вроде «это хорошо, потому что это делает вас счастливее».
А что «это» в данном месте? Переводчик не удосужился вернуться на предложение назад и увидеть, что местоимение «it» у автора ссылается на «биты с 54 по 0». И, соответственно, писать надо:
Абзацы про температуру пола чуть выше температуры воздуха, про работу плиты перекрытия как слабый отопительный прибор меня прямо взбесили своей бредовостью и оторванностью от реальности.
Вроде автор статьи по другим статьям производил впечатление грамотного человека.
От прочтения таких абзацев рука тянется взять перфоратор, просверлить в плите небольшое углубление и замуровать туда температурный датчик, DS1820, а другой поставить для замера температуры воздуха, и трансляцию показателей сделать на веб-страничку. А то и вовсе заказать Seek Thermal Pro и показать автору температуру пола, потолка, а также температуру воздуха в своей квартире и квартире ниже.
В идеальном доме а-ля термос это может быть и так. В реальном доме, особенно советской постройки — это вообще не так. Плита не теплоизолирована от стены, поэтому и через плиту тоже идет тепловой поток, направленный в сторону улицы.
Ну, у меня сейчас такое же разрешение, как и в 2005-м. Поэтому courier по прежнему наше всё :)
Почему? Звучит как натягивание совы на глобус, подгонка под ответа.
Почему в названии любых других типов клиент-серверных программ слово «клиент» означает вовсе не человека, а класс приложений, и только у банкиров слово «клиент» — это человек, а сама схема образования слова через дефис это не калька с гамма-лучей и альфа-частиц, а (оказыается) калька с Москва-Петушки.
Если реально вы от многих людей слышали такое объяснение, а не придцмывали его только что, то похоже, что сначала один человек с низким кругозором перепутал местами слова (наивно полагая, что слово «клиент» это именно человек, как в анекдоте про Карла Маркса, Фридриха Энгельса и Славу КПСС), а потом другие люди наделили исковерканное слово новым смыслом.
Такие статьи на Хабре только переводить и можно. Ведь переводчику не сольют карму за то, что перевёл, что король голый. А вот скажи, что король голый, от своего имени — можно и без головы остаться.
Банк-клиент звучит осмысленно, как FTP-клиент, RDP-клиент, SSH-клиент. Но откуда взялся вариант с перестановкой слов наизнанку?
То есть если FTP-клиент это клиентское приложение для работы с FTP, то банк-клиент это клиентское приложение для работы с банком.
А вот клиент-банк уже по строению похож на data-bank, фото-банк. То есть подобно тому, как фотобанк это некий банк с огромным числом каких-то разных фото, слово клиент-банк производит впечатление понятия о банке с большим количеством каких-то разных клиентов.
Почему в России клиентское приложение для взаимодействия с сервером банка называют клиент-банком, а не банк-клиентом?
Так знаю, сам этим в том числе занимаюсь.
И раз в сколько дней в России запускается разработка новой камеры, нового ЭБУ, нового станка? А раз в сколько дней запускается разработка любого другой проекта, куда могли бы привлечь сишника, но привлекут кого-нибудь, кто пишет на чем-то модном?!
Да, микроконтроллеры. Но раньше в порядке вещей было и GUI-приложение под Windows делать на Си (WinAPI изначально на такой подход заточен), и CUI-утилиты.
Сейчас скажи кому, что собираешься на Си написать программу с GUI — выльют ушат помоев на тебя. Хотя я бы лучше сам их вылил на тех, кто пишут жутко тормозные и прожорливые UI используя модные технологии.
В отношении консольных утилит, особенно в никс-мире сохраняется доминирование Си. Слава богу, никто не переписывает grep или socat на что-то другое. А вот bzip2 пытаются переписать на Расте. И youtube-dl, внезапно, написан не на Си.
Может тут сказывается то, что я нахожусь не в России. Может действительно сейчас из-за геополитической обстановки в России бросились импортозамещать все на свете. Или у вас знакомые особенные.
Но с теми же микроконтроллерами, и разработке устройств на них, должен сказать, есть тенденция, похожая на ту, которая происходит в программировании: появление на свет инструментов и подходов с низким порогом вхождения вытесняет использование инструментов и подходов с высоким, даже если это идет во вред эффективности.
При разработке каких-то единичных, не тиражуемых устройств, там где раньше бы применили МК и позвали «кристаллщика»/эмбеддера, сейчас с большой вероятностью вкорячат Ардуино/Raspberry, и призовут говнокодера. Дешевые и мощные 32-битные чипы и возможность запускать на них линукс убила спрос на людей, которые могли уместить «огого» в 128 байт: теперь то же самое можно наговнокодить на скриптовом языке.
Исключения: это серийные изделия или изделия с особыми требованиями (RTOS, детерминированность по времени, особые требования по надежности). Но пойди еще попади в проект, где действуют такие особые требования: как правило заказчика устроит и говнокод (зато ведь дешево).
В общем, число заказов по типу того, что на завод на производственную линию требуется в единственном экземпляре контроллер, который будет опрашивать датчики или управлять чем-то и для этого будут создавать устройство на МК и писать прошивку на ассемблере и Си — падает. Сейчас из штанов выпрыгнут, но постараются найти готовую плату, а под неё постараются найти готовый уже кем-то написанный софт.
В промэлектронике вообще царит своя атмосфера. Там в принципе не принято для решения задачи проектировать устройство в виде платы, МК, прошивки. Во-первых, натурально сила традиции отрасли. Во-вторых, иногда требования норм (сертификация и т.д.). Там принято взять готовые серийные кирпичики (PLC, реле, модули согласования интерфейсов) — обязательно чтобы на DIN-рейку вешались — и из этого собрать нечто, что решает задачу. Даром, что иногда это получается шкаф с человека размером, хотя могла бы быть платкп, умещающаяся на ладони.
Компактность и энергоэффективность на заводе не ценят (если речь не о кубометрах и мегаваттах), а вот унификацию ценят.
В общем, да. Работа для сишников пока еще есть и еще долго будет. Но раньше было и работы больше, и область применения была шире, и отношение к ним было лучше.
Так это если уехать. Конечно, можно найти такое место, где вообще никакой работы не найти.
Но вы задайте себе вопрос: каков процент населенных пунктов на планете Земля, где прямо сейчас есть спрос на таксистов, и какой процент населенных пунктов, где прямо сейчас есть спрос на специалистов по ядру ОС?
Но API-то тоже не инкапсулирует это.
Можно было назвать продукт 3dfx и спрятать обработку вершин в программной части. Но нет: вот вам железо и софт для отрисовки на плоскости текстурированных треугольников
Если не испытали трудностей, это не значит, что другие не испытали. Это значит, что вы менее привередливый и вам многие аспекты, к которым другие подстроились, привыкли и полюбили, были безразличны.
Не понимаю вашей непоследовательности. Почему вы тогда ушли с XP?
Hidden text
Я не ушел.