Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

articles:95vsxp [2017/09/05 02:55] (текущий)
Строка 1: Строка 1:
 +====== ядерно-нуклонная смесь или чем отличается XP от 9х ======
  
 +крис каперски ака мыщъх,
 +no -
 +email
 +
 +**Windows **  **98**
 +** **  **– самая удачная операционная система,​ из всех, когда-либо созданных **
 +**Microsoft** ​ **. настолько удачная,​ что даже затруднившая продвижение **
 +**Windows **  **2000 и **
 +**Windows XP**  **. увы, ее поддержка прекращена и переход на **
 +**Windows XP**  **/2003 неизбежен,​ даже если мы этого не хотим. говорят,​ в последние мгновения перед смертью человек вспоминает всю свое прошлое – свои добрые и плохие дела. но операционная система не наделена созданием и она может жить только в наших сердцах. вот и давайте сравним ее ядро с ядром **
 +**Windows** ​ ** **
 +**NT** ​ **, чтобы знать что мы теряем,​ а что получаем взамен.**
 +===== введение =====
 +
 +Пока поклонники
 +Windows ​ 98 размышляют – стоит ли им переходить на
 +XP или продолжать игнорировать ее существование и впредь,​ девелоперы во всю штампуют оболочки,​ разукрашивающие интерфейс
 +Window ​ 98 на любой манер (и, кстати говоря,​ зачастую намного более симпатичный,​ чем
 +XP ). Рассуждая о достоинствах и недостатках различных операционных систем,​ большинство публикаций напирает на пользовательский интерфейс,​ комплектность штатной поставки и другие непринципиальные характеристики,​ легко устранимые установкой дополнительного программного обеспечения. Вот только один пример:​
 +Windows XP штатно поддерживает
 +NTFS ,
 +Windows ​ 98 – нет. Однако,​ это еще не обозначает,​ что работа с
 +NTFS под
 +Windows ​ 98 невозможна в принципе. Отнюдь! Существуют реализации
 +NTFS и под
 +Windows ​ 98, взять хотя бы известный драйвер Марка Руссиновича.
 +
 +Наибольший интерес вызывают именно ядра систем,​ поскольку заложенные в них свойства не перекрываются прикладным уровнем и во многом определяют характер всей операционки в целом. Насколько мне известно,​ такого сравнения еще никем не проводилось.
 +
 +Во избежание неурядицы,​ договоримся поднимать под
 +Windows NT всю линейку
 +NT -подобных систем,​ а именинно – саму
 +Windows NT ,
 +Windows 2000,
 +Windows XP и
 +Windows ​ 2003. Соответственно,​ под
 +Windows ​ 9
 +x понимается
 +Windows ​ 95,
 +Windows ​ 98,
 +Windows
 +Me .
 +
 +===== переносимость или смердящая мертвечина живых =====
 +
 +Операционная система
 +Windows NT проектировалась с размахом и оптимистичной верой в светлое будущее. Тогда – в конце восьмидесятых – будущие виделось за жесткой конкуренцией. Считалось,​ что процессоров с каждым кодом будет становиться все больше и больше,​ поэтому,​ главным критерием выбора операционной системы станет ее переносимость. Феноменальная популярность
 +UNIX объяснялась отнюдь не программистскими качествами (с технической точки зрения архитектура системы была весьма убога и новизной идей совсем не блистала,​ да не запинают меня ее поклонники – но это истерический факт!), а количеством поддерживаемых платформ.
 +UNIX работала практически везде – от контроллеров лифта до космических кораблей. Программа,​ написанная для одной платформы,​ простой перекомпиляцией переносилось на десяток-другой остальных (на самом деле, конечно,​ требовалось нечто большее,​ чем простая перекомпиляция,​ но это уже не суть важно).
 +
 +Расплатой за переносимость становится падение производительности (под час очень существенное).
 +Windows
 +NT практически целиком написана на языке Си. Ассемблерные строки обнаруживаются лишь в тонком слое абстрагирования от оборудования,​ содержащего первичные драйвера и аппаратно-зависимые функции. Благодаря этому обстоятельству,​
 +Windows NT была портирована на
 +DEC Alpha и несколько других платформ,​ но долгое время оставалась игнорировалась программисткой общественностью,​ поскольку адекватных вычислительных мощностей в то время просто не существовало и
 +Windows NT ассоциировалась по меньшей мере с Кадиллаком или Шевролле. В настоящий момент,​
 +Windows NT реально работает только на одной платформе –
 +IBM PC , а остальные вымерли за ненадобностью.
 +
 +Windows ​ 9
 +x , ориентированная на хлипкие домашние компьютеры,​ никогда не стремилась к переносимости и оптимизировалась под одну конкретную платформу –
 +IBM PC . Большое количество ассемблерного кода обеспечивает ей нависшую скорость выполнения. Без всякой иронии –
 +Windows ​ 9
 +x выполняется так быстро,​ как это только возможно,​ что особенно хорошо заметно на медленных машинах. С другой стороны,​
 +Windows NT содержит ряд прогрессивных алгоритмов по управлению системными ресурсами и на быстрых машинах с достаточным количеством оперативной памяти (от 128 Мбайт и выше) она существенно обгоняет Windows ​ 9x .
 +
 +===== 16, 32, 64 и 128 – или минусы широкой разрядности =====
 +
 +Агрессивная рекламная компания,​ проводимая фирмой
 +Microsoft выдает разрядность кода если не за великое программистское достижение,​ то за главное достоинство своих операционных систем. Судите сами. Сначала нам долго и упорно втирали,​ что
 +Windows ​ 9
 +x самая, что ни на есть полностью 32-разрядная операционная система. Затем выяснилось,​ что "в военное время значение синуса угла может достигать четырех"​ и
 +Windows NT еще намного более 32-разрядна,​ чем
 +Windows ​ 9
 +x .
 +
 +Действительно,​
 +Windows ​ 9
 +x содержит большое количество 16-разрядного кода, оставленного в системе по чисто техническим соображением и пошедшего только на благо. Единственным
 +x 86 процессором,​ тормозящем на выполнении 16-разрядного кода, был и остается
 +Pentium PRO , некогда пользующийся большой популярностью у производителей серверов и высокопроизводительных (по тем временам!) рабочих станций. Современные процессоры (и
 +Pentium -4 в частности) выполняют 16- и 32-разрядный код практически с одинаковой скоростью,​ причем,​ 16-разрядный код в силу своей компактности зачастую выполняется даже быстрее! К тому же, он занимает меньше места на диске и в памяти. Другое дело, что 32-разрядный код существенно упрощает программирование,​ но поскольку 16-разряные фрагменты кода глубоко зарыты в
 +Windows ​ 9
 +x , никакой разницы между
 +Windows
 +NT и
 +Windows ​ 9
 +x с потребительской точки зрения нет (причем,​ к потребителям мы относим не только пользователей,​ но и прикладных/​системных программистов).
 +
 +Но прогресс не стоит на месте и разрядность кода непрерывно увеличивается. Сейчас активно разрабатываются
 +x 86-совместимые процессоры,​ поддерживающие 64- и 128-разрядные режимы. 16- и 32-разрядный режимы сохранятся только в виде эмуляции и будут жутко тормозить. Естественно,​ сам по себе 64-разрядный режим не увеличивает скорости обработки данных и по большому счету это просто хитрый маркетинговый трюк. Но нам-то,​ конечным пользователям,​ от этого не легче!
 +Windows ​ 9
 +x будет крайне неэффективна на таких машинах,​ а ее перенос потребует чудовищных трудозатрат,​ в которых никакого смысла нет. Перенести
 +Windows NT гораздо проще и ведь
 +Microsoft действительно ее переносит (ну или во всяком случае пытается это сделать). Сразу же возникает вопрос – какой процент 32-разрядного кода сохранится в 64/​128-разрядных версиях
 +Windows NT ?
 +
 +===== полнота поддержки win 32 API или свой среди чужих =====
 +
 +Программный интерфейс
 +Windows ​ 3.1 был невероятно убог и взаимно противоречив,​ поэтому группе разработчиков
 +Windows ​ 9
 +x было поручено разработать принципиально новый
 +API , учитывающий горький опыт предыдущего и призванный ликвидировать его слабые места. От разработчиков
 +Windows NT требовалось обеспечить обратную совместимость с
 +win 32
 +API (именно такое название получил новый интерфейс),​ на уровне одной из подсистем времени выполнения. Поначалу это никого особенно не взволновало,​ поскольку
 +Windows NT ориентировалась преимущественно на
 +OS /2 приложения и
 +win 32 долгое время оставался побочным проектом. Однако,​ со смертью
 +OS /2 и феерическим взлетом
 +Windows ​ 3.1 все изменилось и задача совместимости с
 +Windows ​ 9
 +x (а в ее успехе уже никто не сомневался) вышла на передний план.
 +
 +Дико матерясь и вспоминая всех святых,​ проклиная Била Гейтса и апеллируя к своему собственному авторитету (который был побольше,​ чем у проектировщиков
 +win 32
 +API ), команда разработчиков
 +Windows NT существенно переработала программный интерфейс,​ добавив к нему множество функций которых не было и не могло быть в рамках
 +Windows ​ 9
 +x . Какое-то время разработчики последней пытались найти компромисс,​ но потом поняли,​ что это бесполезно и, махнув рукой, установили на место тех функций,​ которые они не смогли реализовать своеобразные "​заглушки",​ всегда возвращающие ошибку выполнения. То есть, формально функция есть, но толку от нее даже меньше,​ чем от нарисованного очага (помините Буратино?​). Но это еще что! Некоторые функции в
 +Windows ​ 9
 +x ведут себя иначе, чем в
 +Windows NT . Например,​ в
 +Windows NT функция
 +CreateFile может открывать не только файл, но и устройство (скажем,​ физический диск), что делает ее сильно похожей на
 +UNIX . К сожалению,​
 +Windows ​ 9
 +x таких шуток не понимает и подобные программы на ней неработоспособны. Но программисты не могут позволить себе роскошь создавать программы,​ работающие только на
 +Windows NT , и потому все преимущества последней до сих пор остаются невостребованными!
 +
 +Массовый переход на
 +Windows XP должен разрешить эту ситуацию и когда, наконец,​
 +Windows ​ 9
 +x , умрет, программисты всего мира вздохнут с большим облегчением. Я не имею ничего против
 +Windows ​ 9
 +x , но подгонять свои продукты под две линейки принципиально различных операционных систем никому не в кайф.
 +
 +Въедливые читатели могут спросить – а причет тут ядро? Ведь
 +API это же прикладной интерфейс! Ага, щас разбежались! Это всего лишь обертка вокруг функций ядра. Именно ядро заправляет памятью,​ процессами,​ файлами и потоками. Именно ядро ограничивает возможности прикладного интерфейса. И эти ограничения без передели ядра никак не исправить.
 +
 +===== многопроцессорность или на хрена козе баян =====
 +
 +Во времена создания
 +Windows ​ 9
 +x никто и подумать не мог, что многопроцессорные компьютеры придут на рабочий стол и потому сколько бы процессоров ни было бы установлено,​
 +Windows ​ 9
 +x всегда задействует лишь один из них. Ну не поддерживает она многопроцессорности,​ хоть ты тресни!
 +
 +А вот в
 +Windows NT поддержка многопроцессорности была заложена изначально. Разделение процессорных ресурсов происходит на уровне потоков. Серверные приложения,​ обрабатывающие каждое сетевое подключение в отдельном потоке,​ линейно увеличивают производительность системы в зависимости от количества процессоров (ну почти линейно,​ – необходимо учесть накладные расходы на межпроцессорные взаимодействия). Офисные же и, тем более, игровые компьютеры практически не имеют приложений,​ реально нуждающихся в многопроцессорности. К тому же,
 +Pentium -4 полноценным "​многопроцессором"​ очевидно не является с
 +Hyper -
 +Threading и обеспечивает мизерный прирост производительности.
 +
 +Поэтому,​ переходить на
 +Windows NT только ради одной многопроцессорности,​ могут лишь оболваненные рекламой чудаки,​ забывшие о том, что бесплатный сыр бывает только в мышеловке!
 +
 +===== поддержка оборудования или сапер, ошибшийся дважды =====
 +
 +Ядро
 +Windows ​ 9
 +x непосредственно не решает вопросов,​ связанных с поддержкой оборудования,​ и перекладывает эту задачу на устанавливаемые драйвера. Напротив,​ в
 +Windows XP первичные драйвера встроены в само ядро, автоматически или вручную выбираемое на стадии инсталляции операционной системы. Причем,​ каждое ядро использует свой формат дерева устройств,​ поэтому о полной совместимости можно только мечтать.
 +
 +Аппаратная конфигурация
 +Windows ​ 9
 +x может быть изменена в любой момент. В худшем случае это потребует перезагрузки (иногда нескольких перезагрузок),​ но не более того.
 +Windows XP в подобных случаях зачастую приходится переустанавливать целиком. И этот вовсе не дефект кривых рук, как некоторые "​специалисты"​ авторитетно говорят. Это дефект в мозгах проектировщиков системы!
 +
 +Частная смена оборудования на владельцев
 +Windows
 +NT действует угнетающе (кому понравится переустанавливать операционную систему по несколько раз на день?) и потому многие из них предпочитают
 +Windows ​ 9
 +x . К сожалению,​ ее поддержка уже давно прекращена и далеко не все современное оборудование имеет драйвера,​ предназначенные для
 +Windows ​ 9
 +x . С течением времени ситуация будет только ухудшаться. Причем,​ никакой надежны,​ что в последующем
 +Windows NT образумится,​ переняв лучшие черты своей родственницы,​ у нас нет. в
 +Windows NT  4.0
 +Plug  &
 +Play менеджер представляет собой обыкновенный драйвер,​ но начиная с
 +Windows ​ 2000 он встроен в ядро и мы вынуждены его использовать независимо от того хотим это или нет. Можно привести и другие примеры,​ но и без этого ясно, что ядро
 +Windows NT постепенно превращается в свалку,​ куда разработчики валят всякую хрень. Система деградирует прямо на глазах,​ разваливалась под собственной тяжестью…
 +
 +===== планировка потоков извне и изнутри =====
 +
 +Каждый процесс имеет по меньшей мере один поток, а каждое приложение создает по меньшей мере один процесс. В многозадачных системах потоки вынуждены бороться за процессорное время. Ситуация,​ когда один поток отнимает его у другого называется вытеснением. Операционная система выполняет роль главного распорядителя,​ координирующего выдачу порций процессорного времени (они называются квантами) тем потокам,​ которые больше всего в нем нуждаются. Иначе это называется планированием. В его задачу входит выбор наиболее оптимальной стратегии планирования,​ обеспечивающей наивысшую производительность операционной системы.
 +
 +Пока количество потоков невелико,​ планировщику достаточно согнать их в одну очередь,​ обрабатываемую в "​капиталистическом"​ порядке (в первую очередь обрабатываются наиболее богатые,​ тьфу, приоритетные потоки ((Это прямая противоположность "​социалистической"​ очереди,​ где все очередники имеют равные права.))). Как следствие – если правительство не предпринимает никаких координирующих мер – с течением времени богатые все больше богатеют,​ отнимая ресурсы у остальных,​ а низко приоритетные потоки могут и вовсе не получить управление.
 +
 +Планировщик
 +Windows ​ 9
 +x использует довольно простые алгоритмы распределения процессорного времени,​ оправдывающие себя только при небольшой численности потоков с идентичным приоритетом. Собственно говоря,​ редкий офисный пользователь работает более чем с двумя-тремя приложениям одновременно,​ поэтому на производительность системы качество планирования практически никак не влияет. В реальной жизни, разрыв между
 +Windows ​ 9
 +x и
 +Windows NT удается заметить только на серверных приложениях.
 +
 +===== защищенность и добровольный заключенный =====
 +
 +Главное преимущество
 +Windows NT над
 +Windows ​ 9
 +x это, бесспорно ее защищенность. Система полностью контролирует доступ ко всем системный ресурсам,​ что при правильной политике администрирования существенно уменьшает вероятность утечки конфиденциальных данных или их разрушения. Однако,​ большинству домашних и офисных пользователей просто нечего и не от кого защищать. Да и о какой защите может идти речь, если больше половины установивших
 +Windows NT постоянно входят в систему под Администратором?​!
 +
 +С обывательской точки зрения,​
 +Windows ​ 9
 +x намного более дружелюбна,​ и демократична,​ чем
 +Windows NT , которая блокирует прямой доступ к оборудованию,​ нарушая работоспособность многих
 +MS -
 +DOS программ (да и не только их). К огромной радости геймеров в
 +Windows XP появился эмулятор бластера,​ вернувший к жизни многие старые игрушки (и
 +DOOM  2 в том числе). Тем не менее, до лучшей игровой платформой на сегодняшний день остается именно
 +Windows ​ 98, поскольку все игры в первую очередь тестируются именно под нее, и никакой гарантии,​ что игрушка нормально заработает на
 +Windows XP у вас нет, даже если ее создатели претендуют на совместимость.
 +
 +К тому же следует помнить,​ что все защиты создаются в первую очередь для честных людей. Увидит такой на двери амбарный замок, подергает-подергает и отойдет. Надолго задержать талантливого взломщика (или бездарного взломщика с огромным ломом) ни один замок не сможет! Право же, не стоит лишать себя всех радостей жизни, устанавливая унылые решетки на окнах и натягивая поверх забора колючую проволоку.
 +
 +===== >>>​ врезка сравнительная характеристика ядер Windows ​ 9x и Windows NT  =====
 +
 +|  \\   \\ |  \\ **Windows 9x** \\  |  \\ **Windows NT** \\  |
 +|  \\ переносимость \\ |  \\ не переносима \\ |  \\ переносима \\ |
 +|  \\ разрядность \\ |  \\ 16 и 32 разрядный код \\ |  \\ 32 разрядный код, в перспективе 64- и 128-разрядный \\ |
 +|  \\ полнота поддержки win 32 \\ |  \\ поддерживается частично \\ |  \\ поддерживается полностью \\ |
 +|  \\ поддержка многопроцессорности \\ |  \\ не поддерживается \\ |  \\ поддерживается \\ |
 +|  \\ качество планирования \\ |  \\ на уровне слабого подобия левой руки \\ |  \\ между женщиной и правой рукой \\ |
 +|  \\ поддержка оборудования \\ |  \\ поддерживает любое оборудование,​ для которого только есть драйвера \\ |  \\ часть драйверов встроена в ядро и требует переустановки системы для своей замены \\ |
 +|  \\ защищенность \\ |  \\ отсутствует \\ |  \\ надежная защита от непредумышленного взлома \\ |
 +
 +===== заключение =====
 +
 +У каждого человека свои критерии и предпочтения. Кому-то нравится
 +Windows ​ 98, а кто-то тащиться от
 +Windows XP . Но при всем уважении к обоим системам (особенно к
 +XP , от одного упоминания которой меня сразу в сортир тянет),​ нельзя не признать,​ что явных лидеров в этом сравнении нет, и не может быть. Если
 +Windows XP  – это Мерседес (Кадиллак,​ Шеволле),​ то
 +Windows ​ 98 – Джип или Лендровер.
 +
 +Microsoft пытается создать из
 +Windows NT универсальную систему,​ которая бы удовлетворяла всех, что невозможно по определению! Неоднократно высказывалось мнение,​ что эта фатальная ошибка и она приведет компанию к гибели,​ особенно после серии дыр, обнаруженных в последних операционных системах. Но не будет злорадствовать,​ ведь падение
 +Microsoft (если таковое и произойдет) ударит по всей компьютерной индустрии повергнув ее во мрак и хаос. Кстати,​ вы смотрители фильм
 +Devil '
 +s
 +Advocate ? Если нет, по посмотрите,​ рекомендую. Он как раз по теме.