Microsoft розкрила історичні аспекти розробки Windows

Кілька днів тому Microsoft опубликовала дуже цікаву інформацію, повз яку ми не могли пройти повз. Опублікована стаття називалася The engineer's engineer: Computer industry luminaries salute Dave Cutler's five-decade-long quest for quality і присвячена заслуженому інженера Microsoft і першому архітектору Windows NT Дейву Катлеру, який заклав основу всіх версій Windows, починаючи з 1993 року.



Відомо, що <a href=«ru.wikipedia.org/wiki/Windows_NT>Windows NT розроблялася як серверна операційна система і вона пройшла досить довгий шлях еволюції перед тим, як постати у всій своїй красі перед домашніми користувачами у вигляді Windows 2000 і Windows XP. Не багато знають, що, насправді, все сімейство ОС Windows NT, починаючи від найперших її версій і закінчуючи Windows 10 засноване на одній з перших повністю 32-бітних ОС фірми Digital Equipment Corporation під назвою VAX VMS, яка заснована на UNIX.

Ми наведемо найбільш значні уривки з вищезазначеної статті з нашими коментарями

У 1976 р. компанія Digital Equipment Corporation (DEC) [або просто Digital] була на хвилі успіху і вважалася успішною комп'ютерною фірмою. [Digital не тільки спеціалізувалася на розробці своєї ОС, але і заліза для неї] Спільно з іншими такими компаніями як Data General, Prime Computer та іншими IT-компаніями, які розташовувалися уздовж т. н. шосе 128 (Massachusetts Route 128), DEC формувала комп'ютерний ландшафт того часу [випускаючи мінікомп'ютери].

В той же час вже відомий на той момент інженер Гордон Белл (Gordon Bell), який працював в Digital на високій посаді, був стурбований падінням динаміки продажів флагманського 16-бітного миникомпьютера компанії, відомого як PDP-11 [працював на ОС RSX-11]. Інше занепокоєння менеджерів DEC викликав факт розробки IBM першого [мікро-]комп'ютера.

Белл вирішив використати своє бачення майбутнього, поставивши на створення нового 32-бітного мінікомп'ютера під назвою VAX з новою ОС [VMS], яка буде забезпечувати зворотну сумісність з додатками для мінікомп'ютера PDP-11. Тоді Белл звернувся до Девіду Катлеру, якому, на той момент, було 33 роки. Він вважався перспективним інженером Digital, до того ж, мав досвід розробки RSX-11. Белл попросив Катлера очолити проект розробки VAX [Virtual Address Extension].

Два роки потому, перші примірники міні-комп'ютерів VAX побачили світ на виробництві Digital. При цьому VAX відразу ж закріпив свою позицію лідера на цьому ринку. Тоді Белл назвав Катлера кращим «кращим розробником операційних систем в світі».

Рис. Дейв Катлер.
У 1982 р. Катлер зустрівся з Беллом і анонсував свій відхід з DEC, що стало для нього повною несподіванкою. У свою чергу, керівництво DEC не збиралося просто так розлучатися зі своїм самим талановитим інженером, хоча, підозрювало, що його невдоволення відноситься до зростаючої бюрократії в керівництві Digital. Катлеру зробили зустрічну пропозицію від якої він не зміг відмовитися. Так була створена дочірня компанія DECWest.

Офіс нової компанії розташувався на відстані 3 тис. миль від штаб-квартири Digital: в Бельв'ю, штат Вашингтон, тобто неподалік від Сіетла і Microsoft. Молодий інженер Len Kawell став одним з перших талановитих фахівців цієї фірми. Фахівці зібралися розробити ОС реального часу (real-time) для VAX, але в результаті був створений новий комп'ютер MicroVAX, а також real-time ОС для нього під назвою VAXeln. Катлер взяв на себе функції розробки нового заліза, а Len Kawell відповідав за створення ПЗ.

Kawell говорив, що у Катлера є унікальне бачення функцій заліза (hardware), що відрізняло його від інших інженерів того часу. Він мислив на рівні машинних інструкцій та операцій з регістрами мікропроцесора. Тим не менш, у 1988 р. Катлер покинув Digital, а новий комп'ютер MicroVAX і ОС для нього так і не побачили світ. Після цього Катлер пішов у Microsoft, познайомившись з Біллом Гейтсом ще за п'ять років до цього. Для нього вже був готовий проект нової ОС, якій судилося здійснити справжній переворот в області мікрокомп'ютерів.

Рис. Катлер з Соломоном, і Руссиновичем, авторами відомої книги Windows Internals.
Після переговорів з Біллом Гейтсом в 1988 р., Катлер прийняв рішення про перехід в Microsoft для створення справжньої 32-бітної ОС для мікрокомп'ютерів. До нього приєдналася команда інженерів з попереднього проекту: п'ять фахівців з розробки ОС і шість фахівців у hardware.

Команда Катлера приступила до розробки нової ОС Microsoft у квітні 1989-го, робота велася більше десяти годин на добу, іноді, без вихідних. Основним завданням при розробці Windows NT стала портируемость майбутньої ОС, тобто можливість її роботи не тільки на мікропроцесорах Intel x86, але також і на RISC-архітектурах, які були популярні в тов час і забезпечували ббільшу продуктивність у порівнянні з x86. Одночасно з цим, фахівці Microsoft вже співпрацювали з компанією IBM в новому проекті по розробці ОС під назвою OS/2. Але в OS/2 були явні недоліки, по-перше вона була 16-бітної, а по друге не була портируемой і могла працювати тільки на мікропроцесорах фірми Intel.

Цілі розробки Windows NT були складними і амбітними. Команда Катлера повинна була забезпечити виконання наступних вимог:

  • Підтримка різних мікропроцесорних архітектур [на рівні вихідних текстів], включаючи, MIPS, Alpha, PowerPC, і x64.
  • Підтримка запуску додатків інших ОС [модель підсистем], включаючи UNIX POSIX, OS/2 і Win32.
  • ОС повинна бути безпечною і відповідати стандарту безпеки C2 (trusted computer certification).
  • Підтримка декількох одночасно працюючих мікропроцесорів (мультипроцесорна архітектура) і справжня багатозадачність. Обидві ці функції вважалися унікальними на той момент для сегмента ПК.

Рис. Логотип Windows NT.
Однією з найбільш складних завдань, яку треба було вирішити розробникам, було завдання тестування ОС. На ранньому етапі команда не володіла всіма необхідними ресурсами для розробки потрібного набору тестів. Замість цього, вони зробили вибір на користь динамічної системи перевірки стресостійкості, що створило високе навантаження на систему в цілому. Кожну ніч розробники запускали стрес-тести нової ОС на сотнях машин. Вранці автори Windows приїжджали в офіс і виробляли сортування помилок для подальшого їх аналізу.

Цікаво відзначити, що спочатку в якості основної підсистеми Windows розглядалася не Win32, а OS/2, але пізніше Microsoft відмовилася від цієї затії.[Як і від розробки самої OS/2 як такий] Почасти це було пов'язано і з швидко набрала популярність Windows 3.1, продажі якої склали 16 мільйонів копій за півроку. В результаті 16-бітне Windows API було взято за основу та розширено до 32-х біт. Для нової ОС також була написана своя 32-розрядна графічна підсистема. Пізніше розробники були змушені адаптувати Windows NT на RISC мікропроцесор MIPS R3000 замість заявленого спочатку Intel i860 XR. Ще однією проблемою, яку необхідно вирішити, була сумісність нової ОС з застарілими програмами MS-DOS і 16-бітної Windows.



Рис. Архітектура Digital VMS.


Рис. Архітектура Windows NT.

Windows NT 3.1 побачила світ 27 липня 1993 р. В 1996 Катлер залишив керівництво всім проектом Windows NT і зосередився на керівництві команди розробки ядра до 2006 р. В березні 2005 року Катлер закінчив частина роботи з портування Windows NT на платформу AMD64, коли були випущені перші 64-бітні версії для робочих станцій і серверів.
См. також Windows NT and VMS: The Rest of the Story windowsitpro.com/windows-client/windows-nt-and-vms-rest-story

Джерело: Хабрахабр
  • avatar
  • 0

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.