В ноябре 1988 г. команда, включавшая пять выходцев
из Digital и одного программиста Microsoft, принялась за дело.
Задача состояла в написании ОС для нового RISC-процессора Intel i860
под кодовым названием N-Ten. Отсюда, кстати, и возникла аббревиатура
NT, позднее трактованная маркетологами Microsoft как New Technology.
Уже в декабре 1988 г. были готовы первые фрагменты системы. Загвоздка
заключалась в том, что i860 существовал лишь на бумаге, поэтому код
приходилось тестировать на программном эмуляторе. Разработка велась
на "игрушечных", по нынешним меркам, машинах Intel 386 25
MHz с ОЗУ 13 MB и жесткими дисками 110 MB.
Архитектура микроядра, изначально положенная в основу NT, приобрела
решающее значение, когда в 1989 г. обнаружилось -- "железный"
i860 не способен достаточно эффективно исполнять написанный код. Пришлось
переориентироваться на MIPS R3000, а затем и на стандартный процессор
Intel 386, что было сделано менее чем за год командой, увеличившейся
до 28 инженеров.
В 1990 г. произошло важнейшее событие, ставшее ключевым в судьбе NT,
-- выход и головокружительный успех Windows 3.0. Фактически она стала
первой многозадачной ОС Microsoft с приличным графическим интерфейсом,
в которой можно было выполнять реальную работу. Именно заимствование
данного интерфейса и API предопределили будущее NT. Вначале серверная
ОС должна была стать римейком совместного с IBM проекта OS/2 и, соответственно,
функционировать с существующими приложениями OS/2. Однако третья версия
Windows появилась исключительно вовремя: Редмонд отказался от своих
союзников и переориентировал команду разработчиков NT на проектирование
Win32 API, сделанного по "образу и подобию" интерфейса Win16.
Это обеспечивало столь необходимую преемственность, облегчившую портирование
приложений из настольной на серверную платформу.
Группа разработки NT, превратившейся к тому моменту в Windows NT, стала
стремительно разрастаться, и вскоре в ней работало около 300 человек.
Отказ от ориентации на OS/2 привел к серьезным проблемам во взаимоотношениях
между Microsoft и IBM. Официальных заявлений не поступало, просто на
одной из межкорпоративных презентаций сотрудники IBM в замешательстве
обнаружили, что созданная ОС не имеет никакого отношения к детищу их
компании. Тем не менее в состав Windows NT 3.1 (нумерация была "подогнана"
к текущей версии 16-разрядной Windows, существовавшей на тот момент)
вошла поддержка DOS, Win16, POSIX и OS/2 API в том числе. В июле 1993
г. новая серверная система от Microsoft вышла в свет и начала свой путь.
Дальше дело пошло споро: в сентябре 1994 г. выпущена Windows NT 3.5.
Предыдущая версия готовилась в лихорадочной спешке, все приходилось
кодировать с нуля, и множество функций остались нереализованными. Теперь
пришло время подумать об эффективности, быстродействии и... организации
какого-то взаимодействия с сетями, построенными на NetWare -- абсолютным
лидером того времени, доминировавшим на рынке локальных сетей. Если
бы в те годы так внимательно относились к вопросам регулирования монополий,
как это делается сегодня, возможно, достаточно было бы написать соответствующую
кляузу в соответствующую инстанцию. Увы, Microsoft пришлось самостоятельно
разбираться в сложившейся ситуации. Novell колебалась: обеспечивать
или нет клиентскую поддержку Windows NT. В Редмонде не могли больше
ждать -- они написали свой клиент NetWare, и он оказался настолько хорош,
что его продолжали использовать и после выхода оригинального программного
обеспечения от Novell. В мае 1995 г. благодаря архитектуре, основанной
на микроядре, появилась специальная "PowerPC-редакция" ОС
-- Windows NT 3.51. По некоторым данным, ее выпуск был в свое время
задержан вследствие неспособности IBM придерживаться плана по выводу
этого процессора на рынок. Поэтому эволюция PowerPC-версии зашла несколько
дальше, чем Windows NT 3.5, что позволило ей стать основой для следующей
версии ОС.
Если до сего момента еще можно было говорить о каком-то сходстве архитектур
Windows NT и даже Unix (в чем-то бесконечно далекой, а в чем-то весьма
схожей с VMS ОС), то с релизом NT 4.0, который ввел графическую подсистему
в ядро, исчез последний повод для подобных рассуждений. По идее, такое
решение было абсолютно логичным выводом из печального опыта попытки
интеграции в NT популярной оконной среды Windows 95. Вероятно, идея
повторения архитектурной модели X Window -- Unix -- возникла именно
из-за первоначальной "серверной ориентации" NT. Однако если
собственно с "пересадкой" графической оболочки проблем не
возникло, то ее быстродействие в пользовательском режиме (т. е. в виде
обычного приложения) оставляло желать лучшего, что абсолютно закономерно
-- поддерживающая абстрагированное устройство вывода (будь то растровый
дисплей, принтер или вообще что угодно) графическая подсистема Windows
несоизмеримо сложнее и, соответственно, требовательнее к ресурсам, чем
X Window, "понимающая" исключительно растровые дисплеи. Так,
в составе ядра Windows NT 4.0, выпущенной в июле 1996 г., появился еще
один модуль. Ревизия получила название Shell Update Release (SUR).
Следующим этапом стала Windows NT 5.0, выпущенная на рынке в 2000 г.
под названием Windows 2000. Смена "титулов" произошла под
влиянием маркетологов и оказалась, в целом, правильным решением, позволившим
репозиционировать эту операционную систему. Работа продолжается и по
сей день, чему свидетельство выход Windows Server 2003.
|