Windows XP против Windows Server 2003: схватка бессмысленна


В интернете можно найти немало статей, рассказывающих о том, что Windows Server 2003 - это более новая ОС, нежели Windows XP, что она надежнее и работает быстрее, надо только настроить ее на работу в качестве рабочей станции, оптимизировать, придать ей "человеческое лицо". Стоит заметить, впрочем, что вопросов "как поставить драйвер ХХХ? На Windows XP он ставится, а на сервер не хочет", "как заставить заработать на сервере железку YYY?", "я сделал все, как описано на сайте ZZZ, а у меня..." и подобных им тоже немало.

Значит, нужно разбираться, в чем же заключается великая сермяжная правда.

Спорить с тем, что Windows Server 2003 имеет больший номер версии, чем Windows XP - бессмысленно. А вот с тем, что WS 2003 новее, чем Windows XP, спорить вполне можно. Все зависит от того, какой именно сервер, и какая именно ХР. Windows XP SP2, например, явно новее, чем сервер без пакета исправлений.

Но давайте начнем по порядку.

В нескольких предыдущих версиях Windows NT рабочая станция и сервер выходили одновременно и имели один и тот же номер версии. Когда началась работа над проектом Whistler, а произошло это, как обычно, сразу после выхода предыдущей версии, зимой 2000-го года, тоже начали делать сразу и серверную, и клиентскую версии, точнее, три клиентские версии - одну для использования в домашних условиях, вторую - в корпоративной среде, третью, 64-разрядную, тоже для корпоративной среды.

В 2000 году произошло еще два события, повлиявших на дальнейшее развитие Windows и на ход работ по ее созданию.

Одним из этих событий был выход Windows Me, последней ОС семейства Windows 3.x - Windows 9x. Работавшие над ней сотрудники были переключены на Whistler, и в силу характера накопленного ими опыта клиентские версии в ходе разработки получили заметное преимущество.

Другим событием, оставшимся незамеченным очень многими, была происшедшая в январе смена руководства "Майкрософт": Билл Гейтс передал управление компанией Стиву Балмеру, сохранив за собой, однако, пост председателя совета директоров.

В результате сменилась стратегия разработки, вместо частого выхода все новых и новых версий - не слишком частый их выход, что дает пользователям (в первую очередь корпоративным) возможность планировать затраты на ПО и обеспечивает б о льшую стабильность операционной среды.

Семейство Windows 3.x - Windows 9x: 1990 - 3.0, 1992 - 3.1, 1993 - 3.11 для рабочих групп, 1995 - 95, 1998 - 98, 1999 - 98SE, 2000 - Me, Итого семь версий за 10 лет. Семейство Windows NT: 1993 - NT, 1994 - NT 3.5, 1995 - NT 3.51, 1996 - NT 4, 2000 - Windows 2000. Итого пять версий за семь лет. В сумме двенадцать разных версий Windows всего за десять лет.

Накопленный опыт выпуска ОС и исправления ошибок в них, существенные задержки выхода Windows 95, 98, 2000 по сравнению с первоначально определенными сроками показали, что надо более тщательно подходить к проектированию системы на начальном этапе, что, естественно, влечет за собой увеличение продолжительности цикла разработки. Была поставлена задача обновления ОС примерно раз в три года. Поскольку предыдущие версии ОС (Windows 2000 и Windows Me) вышли в двухтысячном году, очередным рубежом становился 2003-й.

Но, как всегда, планы - планами, а жизнь - жизнью.

Те, кто присутствовал на различного рода мероприятиях, посвященных выходу Windows 95, помнят, вероятно, демонстрировавшуюся на них схему развития Windows. Согласно этой схеме должна была выйти еще одна версия из семейства Windows 9x (ею позже стала Windows 98), а затем клиентские системы планировалось выпускать на базе Windows NT. Задержка с выходом Windows 2000 и неудачная попытка сделать версию этой системы для домашнего использования (кодовое название "нептун") заставили "Майкрософт" выпустить сначала второе издание Windows 98, а затем и Windows Me.

Но потребность в более надежной и стабильной системе для домашнего использования никуда не исчезла. А поскольку к работе над Whistler оказались подключены разработчики Windows Me, то появилась возможность выпустить клиентскую версию раньше, чем серверную.

В начале ноября двухтысячного года вышла первая бета Whistler. В ее составе были как клиентские версии (домашняя, профессиональная, 64-разрядная), так и серверные. Еще более полугода их разработка шла совместно, версии выходили одновременно и имели один и тот же номер сборки.

Весной 2001 года стало ясно, что клиентские версии будут готовы значительно раньше серверных. Естественно, искусственно задерживать их выход не было смысла, и к началу лета проект Whistler разделился на два: клиентские версии получили название Windows XP и перешли из стадии бета-версий к стадии кандидата в финальные версии, а серверные остались в стадии второй бета-версии (через некоторое время они получили новое рабочее название - .NET Server).

Чтобы легче было различать сервер и клиент, у серверных сборок изменили первую цифру номера с двойки на тройку, остальные три цифры совпадали. И серверные сборки еще некоторое время выходили вместе с клиентскими и имели ту же версию ядра. Лишь непосредственно перед выходом (в августе) номер сборки Windows XP был увеличен до ближайшего относительно круглого числа - 2600. Номер же сборки сервера рос постепенно.

Работа над сервером продолжалась, Но еще довольно долго он продолжал сохранять номер версии 5.1, хотя к этому номеру добавилось окончание SP1. Да, совершенно верно, общие части и компоненты сервера и Windows XP продолжали оставаться сходными. Наработки, сделанные для сервера, включались в состав альфа-, а потом и бета-версий XP SP1, а исправления, вносившиеся в XP, вносились и в программный код сервера.

Конечно, абсолютной идентичности добиться было нельзя. Поскольку одними из достаточно существенных причин нестабильности была работа аппаратного ускорения вывода изображения и звука, то были предприняты попытки исключить эти причины. По умолчанию в серверах были отключены вывод звука и видеоускорение. Тестеров специально предупредили, что любые ошибки, обнаруженные при включении этих возможностей, даже не связанные с ними непосредственно, рассматриваться не будут. Более того, была предпринята попытка вообще отказаться от использования драйверов производителей оборудования и написать универсальный драйвер VESA, использующий лишь базовые возможности видеоадаптеров. Но времена, когда изготовители считали своим долгом обеспечить стопроцентную совместимость хотя бы с VGA, давно прошли. Что уж говорить о менее распространенных режимах... Так что добиться надежности использованием универсального видеодрайвера не удалось и пришлось вернуться к обычным драйверам и отключать в настройках видеоускорение.

Правда, кое-что полезное из этой попытки извлекли - была разработана технология обнаружения сбоев видеодрайверов. В случае обнаружения такого сбоя система отключала имеющийся драйвер, инициализировала драйвер VGA и продолжала работать через него. Конечно, разрешение 640х480 и 16 цветов - не бог весть, что для сегодняшнего времени, но это лучше, чем экран, на котором все смешалось в кашу или вообще отсутствует изображение. Можно, по крайней мере, спокойно сохранить результаты работы и перезагрузиться. Увы, не все сбои поддаются программному обнаружению, но в некоторых ситуациях эта защита все-таки помогает.

Само собой разумеется, что это улучшение попало и в XP, оно было включено в SP1.

Итак, разошедшиеся было пути Windows XP и WS2003 снова сошлись: для первой делался пакет исправлений, вторая должна была включить в себя этот пакет.

Однако откладывать выпуск XP SP1 до выхода все еще не готового сервера не имело смысла. Фиксировать состояние ядра сервера на уровне XP SP1 тоже было неблагоразумно - зачем отказываться от возможности сделать его лучше. Поэтому системы снова разделились - серверы получили номер версии 5.2.

Но не только серверы. Windows XP 64-bit Edition, вышедшая одновременно с остальными версиями Windows XP и получившая вместе с ними пакет исправлений, продолжила свое развитие в группе серверов. Поскольку появился новый процессор - итаниум 2, надо было добавлять его поддержку в 64-разрядные версии серверов и ХР. Так что когда в марте 2003 года были сданы в производство серверы семейства WS2003, вместе с ними вышла и обновленная Windows XP 64-bit Professional 2003, также имевшая версию 5.2.

После выхода сервера появилось немало желающих пощупать его вживую на домашнем компьютере, и в интернете начали множиться статьи, посвященные переделке сервера в развлекательно-игровую систему. Поскольку с ходом разработки авторы этих статей знакомы не были, а двойка в номере версии бросалась в глаза, то были сделаны "очевидные" выводы, что сервер имеет совершенно новое ядро (встречались даже утверждения, что оно написано заново, с нуля), что он работает гораздо быстрее Windows XP и гораздо стабильнее ее. Апофеозом абсурда оказалась высказанная автором одной из таких статей мысль, что хотя тестовые программы разности в скорости не показывают, на самом деле сервер все-таки быстрее. Достаточно его установить - и все будет видно на глаз.

О том, насколько достоверна оценка "на глаз", мы здесь подробно говорить не будем, этой теме посвящено много книг и статей. Думаю, вполне достаточно будет сказать, что во избежание влияния самовнушения общепринято использование слепого, а при возможности - и двойного слепого методов. Применительно к компьютерам слепой метод означает, что испытуемый человек поочередно работает за сравниваемыми системами, причем он не должен знать, какая именно система загружена в данный момент, а переключение выполняет другой человек. Конечно, никто из расхваливающих быстродействие сервера не утруждал себя подобными сравнениями.

Так что оставим личные ощущения за бортом, но согласимся с тем, что тестовые программы сколько-нибудь заметной разницы не показывают.

На самом деле вполне может оказаться так, что улучшения, внесенные для повышения скорости работы программ на сервере, отрицательно скажутся на рабочих станциях. За примерами не надо далеко ходить, думаю, все помнят, как обнаружилось, что изменения, внесенные в Windows XP SP1 (заимствованные из .NET Server), привели к заметному увеличению времени загрузки некоторых программ.

Так что не стоит забывать, что на сервере и на рабочей станции работают, как правило, разные программы в разных условиях, и "что русскому хорошо, то немцу смерть". То есть настройки, оптимизирующие работу сервера, вовсе не обязательно оптимизируют и рабочую станцию.

О преимуществе в стабильности и говорить нечего - любое "одомашнивание" сервера начинается с включения видеоускорения, то есть режима, не тестировавшегося на серверах вообще. Конечно, близкое родство WS 2003 с Windows XP спасает положение - код отлаживался в клиентских системах и поэтому, как правило, проблем не бывает, но все-таки в серверах этот код не проверялся.

С тех пор вышли еще пакеты исправлений - SP2 для Windows XP и SP1 для WS2003, но ситуацию в целом это не изменило - по-прежнему шел интенсивный обмен между этими двумя версиями, и все ценное, что было придумано для одной из них, тут же переносилось в другую. Относительно длительное существование и совершенствование одного, по сути, ядра, дало возможность обеспечить высокую стабильность систем. По словам разработчиков, в последние полтора-два года ошибки и неполадки, связанные с работой ядра, выявляются намного реже, чем раньше, и, что интересно, оказываются одними и теми же для всех сходных ядер - и для клиентских, и для серверных, и для 32-разрядных, и для обоих 64-разрядных. Думаю, это вполне убедительно доказывает, что ядра (в текущем состоянии) друг другу очень близки.

Конечно, если сравнивать Windows XP на момент ее выхода с финальной версией WS2003, то сервер будет обладать некоторыми преимуществами. Но в текущем состоянии, со всеми последними пакетами исправлений и обновлениями разница сглаживается. И остается то же самое, что и в предыдущих версиях - разница во внутренних настройках. Для сервера - обеспечивающих максимально эффективную работу нескольких программ одновременно. Для клиентской - максимальную производительность одной программы, той, с которой пользователь работает в данный момент.

Так что оставьте кесарево - кесарю.



Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.