На рубеже тысячелетий у Microsoft фактически существовали две разные операционные системы под одним именем Windows, и пользователю приходилось выбирать между ними, заранее понимая, чем он жертвует. Домашняя линия давала совместимость с играми и привычными программами, но регулярно падала. Профессиональная линия работала стабильно сутками напролёт, но множество старых приложений и устройств в ней попросту отказывались запускаться. Разбираемся, как разрыв между Windows 98 и Windows 2000 в итоге подтолкнул компанию к созданию единой системы, которая объединила оба подхода.
Две параллельные линии одной компании
К концу девяностых Microsoft развивала два независимых семейства операционных систем сразу, и каждое из них решало собственную задачу. Одна ветка вела начало от MS-DOS и включала Windows 3.x, 95, 98 и позже Me: она была относительно нетребовательна к железу, отлично уживалась со старым софтом и играми, но оставалась технически хрупкой из-за унаследованной архитектуры. Вторая ветка, Windows NT, зародилась внутри самой Microsoft как альтернативный проект под рабочим названием NT OS/2: компания действительно сотрудничала с IBM над системой OS/2, но параллельно, силами команды переманенного из DEC инженера Дэйва Катлера, писала собственное ядро с нуля, и после разрыва партнёрства с IBM в 1990 году этот внутренний проект превратился в самостоятельный продукт Windows NT с современным ядром, защищённой памятью и продуманной моделью безопасности. Microsoft прекрасно понимала, что рано или поздно всех пользователей нужно перевести на архитектуру NT, но типичный домашний компьютер конца девяностых просто не мог комфортно работать под управлением такой требовательной системы. Именно поэтому две линии продолжали развиваться параллельно, дублируя часть усилий разработчиков и сбивая с толку покупателей, которым приходилось разбираться в различиях между внешне похожими продуктами.
Windows 98 как вершина и одновременно тупик домашней линии
Windows 98 стала во многом лучшей версией DOS-based линейки: система получила заметно улучшенную поддержку нового оборудования, встроенную работу с USB-устройствами, обновлённый интерфейс и полноценную интеграцию с интернетом. Для геймеров и обычных домашних пользователей она надолго стала стандартом, поскольку поддерживала огромный каталог программ и периферии, накопленный за годы существования линии Windows 3.x и 95. Проблема заключалась в фундаменте, на котором всё это было построено. Ядро системы по-прежнему опиралось на однопользовательскую модель без должной изоляции процессов, из-за чего сбой в одной программе нередко утягивал за собой всю систему целиком, а пользователи регулярно сталкивались с синим экраном критической ошибки. Даже её преемник Windows Me, вышедший в сентябре 2000 года на обновлённом ядре Windows 98 с элементами из Windows 2000, не смог исправить эту особенность архитектуры и получил репутацию едва ли не самой нестабильной версии Windows за всю историю линейки. Стало окончательно ясно, что дальнейшее развитие DOS-based ветки упёрлось в потолок, выше которого поднять надёжность системы без смены архитектуры уже не получится. Показательно, что именно в Windows 98 появилась универсальная модель драйверов WDM, позволявшая одному и тому же драйверу устройства работать и на домашней, и на профессиональной линии Windows: сама по себе эта технология стала одним из главных строительных блоков будущего объединения, хотя на момент выхода 98-й ещё не могла в полной мере раскрыть свой потенциал из-за ограничений устаревшего ядра, на которое она была надета.
Windows 2000 как эталон стабильности с закрытой дверью для игр
Пока домашние пользователи мучились с зависаниями, корпоративный сегмент получил в 2000 году Windows 2000, построенную на базе Windows NT Workstation 4.0 и внутренне обозначенную как NT 5.0. Система предлагала настоящую многозадачность с защитой памяти между процессами, продуманную работу с сетями и заметно более высокую отказоустойчивость: администраторы ценили её за способность работать неделями без перезагрузки даже при серьёзной нагрузке. Но у этой надёжности была цена. Windows 2000 изначально проектировалась для бизнеса, а не для домашнего использования, поэтому производители игр и периферийных устройств массово обходили её стороной при написании драйверов, ориентируясь на куда более широкую аудиторию Windows 98. В результате пользователь, перешедший на Windows 2000 ради стабильности, рисковал обнаружить, что его любимая игра просто отказывается запускаться, а новый сканер или звуковая карта не определяются системой без танцев с бубном. Профессиональная линия оставалась привилегией энтузиастов и корпоративных сетей, а массовый домашний рынок она так и не завоевала. При этом именно в Windows 2000 линия NT впервые получила полноценную поддержку технологии Plug and Play, до того считавшейся исключительной фишкой домашних версий: система научилась сама распознавать новое оборудование и подбирать драйверы без ручной настройки через панель управления. Вместе с новой файловой системой NTFS с журналированием и службой каталогов Active Directory для управления корпоративными сетями Windows 2000 заложила практически весь фундамент, на котором позже будет держаться XP, но подать этот фундамент массовому домашнему пользователю в удобной упаковке система так и не смогла.
Проекты Neptune и Odyssey, которые не довели дело до конца
Ещё до того, как Microsoft всерьёз взялась за объединение веток, в компании параллельно шли две отдельные разработки, призванные закрыть разрыв каждая со своей стороны. Проект под кодовым названием Neptune должен был перенести домашних пользователей на архитектуру NT, сохранив при этом привычный интерфейс и совместимость с играми. Проект Odyssey, в свою очередь, задумывался как следующий шаг для профессиональной линии, преемник самой Windows 2000. Оба направления оказались чрезмерно амбициозными для своего времени: по свидетельствам инсайдеров, в Neptune постепенно свалили все функции, которые пришлось вырезать из готовящейся Windows Me, из-за чего проект превратился в подобие свалки нереализованных идей без ясного фокуса. К январю 2000 года, незадолго до официального релиза Windows 2000, руководство Microsoft осознало, что распыление ресурсов на два параллельных экспериментальных продукта только отдаляет момент настоящего объединения линий, а не приближает его.
Рождение Whistler и решение сделать ставку на единую платформу
В январе 2000 года Microsoft закрыла оба разрозненных проекта и объединила накопленные наработки в новую программу под кодовым названием Whistler, названную в честь горнолыжного курорта в Британской Колумбии, где любили отдыхать сотрудники компании. Принципиальное отличие Whistler от предыдущих попыток заключалось в самой постановке задачи: вместо двух отдельных продуктов для дома и бизнеса разработчики с самого начала целились в единую платформу на основе ядра Windows NT, которая закрывала бы потребности обеих аудиторий сразу. Работы над Whistler стартовали буквально за месяц до розничного релиза Windows 2000 и заняли около двадцати месяцев, что по меркам индустрии того времени было довольно жёстким графиком для проекта такого масштаба. К тому моменту у Microsoft уже был готовый стабильный кернел от Windows 2000 и огромный практический опыт с драйверами и совместимостью, накопленный на Windows 98 и Windows Me, и объединённая команда старалась взять от каждой линии именно то, что работало лучше всего, а не изобретать архитектуру заново с нуля. Финальная сборка была готова к 24 августа 2001 года, когда систему передали производителям компьютеров для предустановки, а массовые розничные продажи для конечных пользователей стартовали 25 октября того же года. Этот двухмесячный зазор между технической готовностью и официальным релизом Microsoft использовала для того, чтобы производители оборудования успели протестировать и доработать драйверы под новую платформу, что для проекта, призванного примирить домашнюю совместимость с корпоративной стабильностью, было критически важным этапом.
Что именно Windows XP унаследовала от каждой из линий
Итоговая система, вышедшая под внутренним номером NT 5.1, взяла от Windows 2000 главное: защищённое ядро, многопользовательскую модель безопасности и способность работать без внезапных перезагрузок целыми неделями. При этом от домашней линии Windows 98 в новую систему перекочевала значительная часть подхода к совместимости: инженеры специально занимались тем, чтобы старые игры и программы, написанные под DOS-based версии, запускались на ядре NT если не идеально, то хотя бы приемлемо, вплоть до отдельного режима эмуляции устаревшего окружения. Обновлённый визуальный интерфейс, куда более дружелюбный к обычному пользователю по сравнению со строгим оформлением Windows 2000, тоже был данью домашней аудитории, которую компания долго растеряла на фоне жалоб на нестабильность её привычной системы. Функция восстановления системы, позволявшая откатить компьютер к прежнему рабочему состоянию после неудачного эксперимента с драйвером или программой, тоже досталась XP от короткоживущей Windows Me, где она впервые появилась и неплохо себя показала несмотря на общую репутацию той версии. А для защиты новой платформы от массового пиратства, ставшего к тому моменту серьёзной головной болью для Microsoft, в XP впервые ввели обязательную активацию продукта по интернету или телефону, что тоже было прямым следствием попытки удержать единую систему прибыльной сразу на двух рынках. По сути Windows XP стала первой версией Windows, которую больше не приходилось выбирать по принципу "стабильность или совместимость": оба качества впервые оказались доступны в одном продукте одновременно, что и определило её долгую и во многом рекордную популярность на годы вперёд.
Почему объединение получилось именно к 2001 году, а не раньше
Разрыв между линиями Microsoft осознавала задолго до релиза Whistler, но техническая возможность его закрыть появилась далеко не сразу. Ядро NT предъявляло куда более высокие требования к оперативной памяти и производительности процессора, чем DOS-based Windows, и на типичном домашнем компьютере середины девяностых годов оно попросту работало бы медленнее и менее комфортно привычной системы. К 2001 году массовое железо наконец подтянулось до нужного уровня: объёмы оперативной памяти выросли в разы, процессоры прибавили в частоте, а производители видеокарт и звуковых плат стали куда активнее выпускать драйверы под архитектуру NT, поскольку доля Windows 2000 на корпоративном рынке уже была достаточно заметной, чтобы оправдать эти затраты. Одновременно подешевели и стали доступнее комплектующие, необходимые для комфортной работы новой системы, а у самой Microsoft накопился практический опыт по адаптации DirectX и других игровых технологий под ядро NT, чего критически не хватало ещё несколькими годами ранее. Совпадение зрелой аппаратной базы, накопленного технического опыта и осознанного решения объединить команды разработки и превратило проект Whistler из очередной амбициозной попытки в по-настоящему рабочий продукт, который смог закрыть многолетний раскол между двумя линиями Windows.
Путь от двух параллельных операционных систем к единой Windows XP занял у Microsoft почти десятилетие проб и ошибок: несколько неудачных попыток, закрытые проекты и одна система, которая слишком долго оставалась нишевой для массового рынка. Но именно опыт, накопленный на Windows 98 и Windows 2000 по отдельности, в итоге позволил создать систему, которая устроила и домашних пользователей, и бизнес, и на годы вперёд определила, какой должна быть современная версия Windows. Показательно, что после выхода XP компания уже никогда не возвращалась к идее раздельных линий для дома и офиса: все последующие версии, от Vista до актуальных сегодня, строятся на едином ядре NT независимо от того, ставится система на игровой компьютер или на рабочую станцию в офисе крупной корпорации.