Так это всё началось.
"Мы прибыли вместе как группа в ноябре 1988", - сказал нам Луковский, отмечая, что первая задача для NT группы состояла в том, чтобы получить машины для разработки, которыми были тогда первоклассные 25 MHz 386 PC с жесткими дисками 110 МБайт и 13 Мб оперативной памяти.
"Они были безбожны дороги", - сказал он, смеясь. Первые две недели развития были довольно беспредметны - NT группа, используя Microsoft Word, создавала первоначальную документацию проекта.
Наконец, пришло время начать писать какой-нибудь код. "Мы проверили первые части кода около середины декабря 1988", - сказал Луковский, - "и он имел базовый системный вид загрузки на симуляторе Intel i860 (который носил кодовое имя "N-Ten") к январю". Фактически, это - то, где NT получила своё название, сказал Луковский, добавляя, что "новая технология" moniker была добавлена после редкого маркетингового всплеска интереса к изделию через оригинальную NT команду". Первоначально, мы планировали NT на Intel i860, RISC процессоре, который был ужасно медленным. Поскольку мы не имели любых i860 машин внутри компании, чтобы проверять, мы использовали i860 тренажер. Именно поэтому мы назвали это NT, потому что это работало на 'N-десять' ".
Недавно названная NT группа имела базовую систему режима и выполнила её на тренажере к апрелю 1989. "Мы запустили её с пятью парнями с DEC и одним из "вне" (то есть из Microsoft) - парнем по имени Стив Вуд", - сказал Луковский. "И мы оставались крошечной группой в течение долгого времени, целое лето. Мы думали: "как интенсивно это могло быть реализованное через OS?", и сравнивали с намеченными 18 месяцами, чтобы построить NT. Но мы забывали части относительно важного материала - режим пользователя, организация сети, и так далее".
К концу 1989 NT группа начала разрастаться. Они добавляли формальную группу организации сети и расширяли группу защиты одиночного пользователя, которая, кстати, также была предварительно обременена файловой системой и развитой локализацией. "Мы выросли в тот первый год до 50 человек или около того", - сказал Луковский. "И в пределах года, мы, наконец, имели первые функционирующие i860 опытные образцы; так что мы могли использовать их вместо тренажеров. Мы запустили просмотр через контекстный выключатель времени, чтобы получить сведения относительно того, как хорошо это исполняется. Стало почти немедленно очевидным, что i860 никогда не будут больше разрабатывать. Так что мы запустили просмотр на MIPS архитектуре, другом проекте RISC."
В декабре 1989 NT группа сделала решение к канве i860 и адресатам MIPS R3000chip. "В пределах двух или трех месяцев мы загружали NT на реальных аппаратных средствах в режиме Big Endian", - сказал нам Луковский, - "и нашей архитектуре, действительно разработанной. Мы создали NT, чтобы быть портативными, и мы доказали, что это будет работать почти немедленно, когда мы передвинулись в MIPS. Мы сделали замену без большой боли."
К этому времени NT группа стала быстро расширяться, большинство её членов теперь прибывало от подразделений Microsoft. Графическая группа была сильно расширена, как только был создан новый стиль выполнения графики. Они также запустили NT порт к Intel i386, который был господствующим процессором PC в то время. Луковский объяснил, почему это было важно для группы и почему они не делали адресата i386 первоначально. "Мы остались далеко от 386 некоторое время, чтобы избежать быть втянутыми в архитектуру", - он сказал. "Мы не хотели использовать предположения не мобильности". Если бы они следовали процессорам Intel с первого дня, сказал он, мы имели бы первоначально более высокую систему выполнения, но это повредило бы NT в конечном счете, и сделать это тяжелее, чтобы следовать новой архитектуре, как они делали недавно с 64-разрядными Itanium версиями Windows Server 2003.
"К весне 1990 мы имели хромающую MIPS версию и всерьез запустили 386 версию", - сказал Луковский. "Это был другой огромный всплеск роста". Быть может, выпустив Windows 3.0, Microsoft внезапно, обратила на себя внимание мира. Windows была успешным ударом и очевидным будущим PC-основанного графического вычисления. "Мы запустили просмотр Windows 3.0 и сказали, 'что, если, вместо OS/2, мы делали 32-разрядную версию Windows? '" Заданный Луковский и небрежно отвергнутый вопрос, стал в следующем десятилетии основой вычислений. "Четыре парня - Стив Вуд, Скотт Лудвиг, парень от графической машинной группы, и непосредственно я - смотрели на 16-разрядную Windows APIs и выясняли то, что будет требоваться, чтобы дотянуть её до 32-разрядной. Мы потратили полтора месяца вычислений на набор API, и затем представили это группе предварительных просмотров проектов, в которой было 100 человек, чтобы увидеть, что они думали".
Ключевая характеристика нового API, в конечном счете названного Win32, - то, что, хотя это был новый API, он выглядел и действовал точно так же как 16-разрядная Windows APIs, позволяя разработчикам легко переместить в новую систему и порт их приложения. "Мы сделали возможным переместить 16-разрядные приложения в NT очень легко", - сказал Луковский, - "и эти приложения могли воспользоваться преимуществом уникальных особенностей NT, например большим адресным пространством. Мы также добавляли новую APIs, которой не было в 16-разрядной версии. Мы добавили главные новые функциональные возможности, чтобы завершить API, делая это законченный OS API, но мы делали это с использованием стиля, который будет знаком каждому из программистов Windows".
Реакция в пределах Microsoft была немедленной. "Они полюбили это", - сказал Марк, - "когда они увидели насколько просто это будет. Это была в основном Windows на стероидах, и не OS/2, которая использовала полностью отличную модель программирования". Делали NT 32-разрядную версию Windows вместо OS/2 программы, однако, появились новые проблемы, не все из которых были техническими. Microsoft была должна получить ISV и OEM совмещение, и конечно аварийное IBM изменение. "Мы делали ISV предварительный просмотр с IBM и имели здесь приблизительно 20 расхождений, и сказали: 'просмотр - это то, что мы собираемся делать.' Сначала, они думали, что Win32 было причудливым названием для OS/2. Тогда Вы могли прочитать на их лицах: 'Секундочку, это же не OS/2. '"
Решение заменить OS/2 на Windows навсегда повредило отношения между этими двумя компаниями. "Но мы имели исполнительное совмещение и запустили порт", - сказал Луковский. "Так, вместо работы на OS/2 подсистеме для NT, мы поднимали Win32". В тот момент, он сказал, что программа стала называться Windows NT.
Модульная архитектура NT также претерпела в течение этого времени изменения. "Благодаря нашей микропроцессорной архитектуре с ядром decoupled от прикладных сред подобно POSIX и Win32, мы не должны были заменять ядро или приниамть новые усилия в программировании", - сказал Луковский нам. "Низкоуровневые внутренности планировщика не были должны измениться. Мы имели C приложения командной строки и выполняли всё в пределах двух недель. Это был сентябрь 1990".
Томпсон разрабатывал важные основы NT. "Наша основная архитектура настолько тверда, что мы были способны ставить NT от 386 в 1990 на сегодняшние внедренные устройства 64-разрядных мультипроцессорных машин, и на 1000$ сервера большого масштаба. Поэтому мы были способны поставить целый массив услуг".
Сентябрь 1990, наверное, был поворотным моментом для Windows NT. Не по совпадению же Дейв Томпсон, предварительно возглавлявший группу новой разработки LANMAN Microsoft для OS/2 3.1, присоединился к NT группе. "Мы всё бросили", - сказал нам Томпсон, - "и группа увеличилась от 28 до приблизительно 300 человек. Мы имели наш первый реальный план изделия".
Первая версия Windows NT, Windows NT 3.1, была выпущена в июле 1993 и названа так, чтобы соответствовать номеру версии тогдашней текущей 16-разрядной Windows. Это NT версия показала рабочую и серверную версии и распределила защиту в форме доменов. С тех пор NT группа работала на прогрессии выпусков, развитых на том же самом основном коде.
Следующий выпуск, Windows NT 3.5, был назван кодом Daytona и выпущен в сентябре 1994. "Daytona был очень полезный проект", - сказал Томпсон. "Мы сосредоточились на размере и проблемах выполнения работы и на "заканчивании" многих из особенностей первого выпуска 3.1. Daytona также имел существенные функциональные усовершенствования и расширения". Первоначальными критериями для Daytona были размер, выполнение, сжатие и совместимость сетевого обеспечения. Две из тех целей символизировали время: сжатие DoubleSpace-стиля было горячей темой в начале 1990-ых, потому что дисковое место было в большом недостатке, и сетевое обеспечение было доминирующим тогда в сетевой операционной системе. "Мы в конечном счете понизили сжатие", - сказал Томпсон, - "но порт сетевого обеспечения был стратегическим. Novell была двойственна относительно NT рабочего стола - они не знали, хотели ли они упорядочить клиентов. Мы предложили свою помощь, но они сохранили питание вокруг и ... сделали хорошо. Мы делали наш собственный клиентский порт. И это только подогревало их. Наш клиент сетевого обеспечения был лучше, и пользователи использовали им в течение многих лет, даже после того, как они наконец сделали свой. Тот клиент допускал NT рабочий стол, потому что сетевое обеспечение было распространено серверами на рынке. Мы не были бы способны продать NT рабочие столы иначе".
|
Этапы развития NT | |
|
31 октября, 1988 |
Дэвид Кутлер присоединяется к Microsoft |
|
ноябрь 1988 |
начинается работа над проектом NT |
|
27 июля, 1993 |
выпущена Windows NT 3.1 |
|
21 сентября, 1994 |
выпущена Windows NT 3.5 |
|
30 мая, 1995 |
выпущена Windows NT 3.51 |
|
31 июля, 1996 |
выпущена Windows NT 4.0 |
|
17 февраля, 2000 |
выпущена Windows 2000 |
|
25 октября, 2001 |
выпущена Windows XP |
|
24 апреля, 2003 |
выпущена Windows Server 2003 |
Daytona также извлек выгоду из новой технологии компилятора, которая давала возможность Microsoft сжать размер кода и допускать реалистическим NT рабочим столам на системах с более низкой производительностью, чем первоначальная версия. "Результаты были неплохими", - сказал Томпсон.
Windows NT 3.51 была дублирована для Power PC, потому что она была разработана вокруг версии Power PC NT, который, как предполагалось, будет работать в версии 3.5. Но IBM постоянно задерживал чипы Power PC, требуя отдельного выпуска NT. "NT 3.51 была не очень полезным выпуском", - сказал Томпсон, противопоставляя с Daytona. "После того как Daytona был закончен, мы в основном сидели в течение 9 месяцев и устанавливали ошибки, и в то же время мы ждали IBM, чтобы закончить аппаратные средства Power PC. Но из-за этого, NT 3.51 была твердым выпуском, и наши клиенты любили её". NT 3.51 в конечном счете была выпущена в мае 1995.
Следующий выпуск NT, Windows NT 4.0, стал известным как Shell Update Release (SUR) - другой стимулирующей задачей, которая еще раз докажет выгоды архитектуры модуля NT. "Мы хотели построить рабочий стол, который имел оболочку 95-ой, но использовал NT технологию", - сказал нам Луковский. "Мы, в конечном счете, переместили Win32 GUI компоненты и создали совмещение им как "in-process" драйвер. При выполнении был один побочный эффект. Мы имели проблемы, берущие этот API и выполняющие это в различных процессах. Так было с перемещением кода к тому же самому контексту, поскольку время выполнения решило много проблем. Мы не были должны делать простое обнаружение блокировки для GDI и USER. Это была существенная работа, но это избавило нас от многих головных болей". NT 4.0 в конечном виде выпускается июле 1996.
Со следующим выпуском Windows NT потеряла своё название NT и стала просто Windows. Томпсон говорит, что решение прибыло из группы маркетинга. "Парень от группы маркетинга Windows [9x], перемещенной к NT маркетингу, сказал, что мы должны использовать Windows всюду. Мы были сначала весьма недовольны изменением имени, потому что NT имел твердую репутацию. Но из-за надежности её помещают с Windows 2000, и люди стали говорить относительно того, сколько лучшего в Windows 2000, чем было в 'старом материале NT', даже при том, что это было та же самая архитектура. Так что это было фактически случайно, хотя и не плохо". Кстати, Windows 2000 не имела кодового имени, "потому что Джим Аллчин не любил кодовые имена", - говорит Томпсон.
Начиная с завершения Windows 2000, самым большим решением группы Windows
стало сделанное разбиение клиентского и серверного выпусков программы, которыми
стали Windows XP и Windows Server 2003. "Это позволяет нам сфокусироваться на
клиентах сервера лучше, чем сейчас", - сказал нам Томпсон. "Настольное
программное обеспечение должно изготовляться [изготовителя PC] коммерческими
циклами. У нас нет никакого отпуска при работе с серверами".