Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Нуклонная смесь

Крис Касперски aka мыщъх

Спецвыпуск: Хакер, номер #048, стр. 048-004-3


Но это еще что! Некоторые функции в Windows 9x ведут себя иначе, чем в Windows NT. Например, в Windows NT функция CreateFile может открывать не только файл, но и устройство (скажем, физический диск), что делает ее сильно похожей на UNIX. К сожалению, Windows 9x таких шуток не понимает, и подобные программы на ней неработоспособны. Но программисты не могут позволить себе роскошь создавать программы, работающие только на Windows NT, потому все преимущества последней до сих пор остаются невостребованными!

Массовый переход на Windows XP должен разрешить эту ситуацию (сейчас ее дола составляет 51% от всех инсталляций Windows - прим. AvaLANche'а), и, когда, наконец, Windows 9x умрет, программисты всего мира вздохнут с облегчением. Так как подгонять свои продукты под две линейки принципиально различных операционных систем никому не в кайф.

Но API - всего лишь обертка вокруг функций ядра. Именно ядро заправляет памятью, процессами, файлами и потоками. Именно ядро ограничивает возможности прикладного интерфейса. И эти ограничения без переделки ядра никак не исправить.

Многопроцессорность: на фига козе баян

Во времена создания Windows 9x никто и подумать не мог, что многопроцессорные компьютеры придут на рабочий стол. Поэтому, сколько процессоров ни было бы установлено, Windows 9x всегда задействует лишь один. Ну, не поддерживает она многопроцессорность, хоть ты тресни!

А вот в Windows NT поддержка многопроцессорности была заложена изначально. Разделение процессорных ресурсов происходит на уровне потоков. Серверные приложения, обрабатывающие каждое сетевое подключение в отдельном потоке, линейно увеличивают производительность системы в зависимости от количества процессоров (почти линейно - необходимо учесть накладные расходы на межпроцессорное взаимодействие). Офисные и игровые же компьютеры практически не имеют приложений, реально нуждающихся в многопроцессорности. К тому же, Pentium-4 полноценным "многопроцессором" очевидно не является с Hyper-Threading и обеспечивает мизерный прирост производительности. Поэтому переходить на Windows NT ради одной многопроцессорности могут лишь чудаки, забывшие о том, что бесплатный сыр бывает только в мышеловке!

Поддержка оборудования: сапер ошибся дважды

Ядро Windows 9x непосредственно не решает вопросов, связанных с поддержкой оборудования, и перекладывает эту задачу на устанавливаемые драйвера. Напротив, в Windows XP первичные драйвера встроены в само ядро, автоматически или вручную выбираемое на стадии инсталляции операционной системы. Причем каждое ядро использует свой формат дерева устройств, поэтому о полной совместимости можно только мечтать.

Аппаратная конфигурация Windows 9x может быть изменена в любой момент. В худшем случае это потребует перезагрузки (иногда нескольких перезагрузок), но не более того. Windows XP в подобных случаях зачастую приходится переустанавливать целиком. И дело вовсе не в кривых руках. Это дефект в мозгах проектировщиков системы!

Назад на стр. 048-004-2  Содержание  Вперед на стр. 048-004-4