Автор: Павел Урусов
Windows: начало
Древнейшая история самой популярной операционной системы в мире
2015 год — юбилейный для Microsoft. Во-первых, на этой неделе официально выходит в свет десятая версия Windows (круглое число!). Во-вторых, именно в этом году исполняется 30 лет с момента выхода Windows 1.0. В связи с этим мы решили вернуться к истокам и вспомнить, с чего всё начиналось.
1. Начало
Основатели Microsoft Пол Аллен и Билл Гейтс
Зимой 1975 года Пол Аллен, 22-летний программист корпорации Honeywell, показал 19-летнему Биллу Гейтсу, студенту Гарвардского университета, январский номер журнала Popular Electronics, центральный материал в котором был посвящён компьютеру Altair 8800. Altair был одним из первых недорогих домашних компьютеров: его базовая стоимость составляла всего 439 долларов в виде набора деталей и 621 доллар в полностью собранном и готовом к использованию виде. В первый же месяц количество заказов на компьютер, основанный на процессоре Intel 8080, превысило тысячу штук, что было очень хорошим показателем для зарождающегося рынка. У Гейтса и Аллена родилась идея разработать интерпретатор языка BASIC и предложить его производителю компьютера Altair, компании MITS. Как сам Гейтс вспоминал в интервью для документального фильма «Триумф нердов», было понятно, что скоро цена на домашние компьютеры снизится настолько, что разработка программного обеспечения для них станет прибыльным бизнесом.

Altair 8800 стал первым успешным домашним компьютером
К этому моменту у Гейтса и Аллена уже был опыт разработки достаточно сложных приложений — в 1971 году, ещё будучи школьниками, они создали компанию Traf-O-Data, которая занималась обработкой статистических данных о трафике на дорогах Сиэттла и других городов штата Вашингтон. Компания не была особо успешной, но опыт работы в Traf-O-Data придал будущим основателям Microsoft уверенности в собственных силах.
В начала 1975 года Аллен и Гейтс отправили основателю MITS Эду Робертсу письмо, в котором предложили ему интерпретатор BASIC собственной разработки. Интересный момент заключался в том, что на тот момент у Microsoft не было ни готового интерпретатора, ни компьютера Altair, но был эмулятор процессора Intel 8008 для мейнфрейма DEC PDP-10, который Аллен написал за три года до этого для Traf-O-Data. Аллен и Гейтс доработали этот эмулятор в соответствии с документацией на Altair 8800 и использовали его для разработки интерпретатора BASIC на компьютере PDP-10, принадлежащем Гарвардскому университету. Когда администрация университета узнала об этом, она лишила Гейтса доступа к компьютеру, так что для дальнейшей разработки пришлось покупать компьютерное время у компании, предоставляющей такие услуги. Всего на разработку интерпретатора ушло примерно 8 недель.
Altair BASIC 8K на бумажной ленте
Готовый интерпретатор использовал менее 4 кБ оперативной памяти вместе с редактором кода. Аллен записал его на бумажную ленту и вылетел на встречу с Робертсом в Альбукерке (штат Нью-Мексико), где располагалась штаб-квартира MITS. Уже в самолёте он понял, что они не написали программу-загрузчик интерпретатора, и написал её в самолёте. К счастью, интерпретатор загрузился и заработал как надо с первого раза. (Позже Гейтс и Аллен устроили соревнование, кто из них напишет максимально быструю и эффективную программу-загрузчик. Гейтс победил в этом соревновании.) Робертс был настолько впечатлён презентацией, что согласился распространять BASIC с компьютерами Altair. Интерпретатор на магнитной или бумажной ленте стоил 150 долларов, но MITS продавала его за $60 при покупке платы памяти объёмом 4 кБ (которая всё равно была необходима для использования BASIC).

В результате ближе к концу 1975 года была основана компания Micro-Soft (название придумал Аллен, предложивший портманто из слов Microcomputer Software), ради которой Гейтс бросил учёбу в Гарварде, а Аллен ушёл из Honeywell. Третьим сотрудником компании стал Монте Давидофф, который разработал для Altair BASIC модуль операций с плавающей точкой.

Интерпретаторы BASIC и других языков программирования оставались основой бизнеса Microsoft вплоть до начала 80-х годов. Компания разработала версии для всех популярных домашних компьютеров, включая Apple II (Applesoft BASIC) и Commodore 64 (Commodore BASIC).

Интересно, что уже в 1975 году компания столкнулась с повальным пиратством среди пользователей домашних компьютеров, которые не покупали BASIC, а копировали его друг у друга. В 1976 году Гейтс даже написал очень жёсткое «Открытое письмо к энтузиастом», в котором обвинил их в воровстве и в том, что такое поведение делает невозможной разработку качественного ПО для микрокомпьютеров.
2. На сцену выходит IBM
В 1979 году IBM с беспокойством наблюдала за рынком домашних компьютеров. Несмотря на то, что компания контролировала 62% рынка мейнфреймов, она «проспала» революцию миникомпьютеров (вроде DEC PDP-11), в результате чего её доля на рынке компьютеров сократилась с 60% в середине семидесятых до 32%. Микрокомпьютеры были ещё одной новой и быстро растущей нишей, в которой IBM не присутствовала.

Было понятно, что IBM нужен собственный персональный компьютер, но тут возникала ещё одна проблема: в большой и крайне забюрократизированной IBM всё происходило очень медленно. Как позже говорил «отец IBM PC» Дон Эстридж, если бы PC разрабатывался в соответствии с принятыми в IBM процедурами, то его разработка заняла бы не менее пяти лет — к тому моменту рынок уже был бы поделен между другими игроками.
IBM PC Model 5150 — первый персональный компьютер IBM
Именно поэтому президент IBM Джон Опель и исполнительный директор Фрэнк Кэри одобрили создание независимой группы Entry Level Systems, которая располагалась в городке Бока Ратон (Флорида), подальше от главной штаб-квартиры IBM. Этой группе была предоставлена полная свобода действий при достижении поставленной задачи: создать конкурентоспособный микрокомпьютер из стандартных и широко доступных на рынке комплектующих. Надо сказать, что задача была выполнена блестяще: первый IBM PC (модель 5150) имел полностью открытую и стандартизированную архитектуру, уникальным и закрытым был только чип BIOS, содержавший программные процедуры для инициализации компьютера.
Традиционно IBM сама разрабатывала ПО для своих компьютеров, но в случае с PC у компании просто не было времени, поэтому было решено искать операционную систему, прикладные приложения и среду разработки на стороне. По предварительной договорённости IBM должна была приобрести операционную систему у Digital Research, а интерпретатор BASIC — у Microsoft. Однако в последний момент подписание договора между IBM и Digital Research сорвалось, потому что юристы Digital Research отказались подписывать соглашение о конфиденциальности.
Тим Патерсон, оригинальный разработчик MS-DOS
Microsoft увидела, что «сделка века» под угрозой, и предложила IBM не только интерпретатор, но и операционную систему. Своей операционной системы у компании не было, времени на её разработку — тоже, поэтому Microsoft выкупила у небольшой компании Seattle Computer Products права на операционную систему 86-DOS (а её основной разработчик, Тим Патерсон, перешёл на работу в Microsoft).

В конце 1980 года Билл Гейтс от имени Microsoft заключил с IBM контракт на поставку программного обеспечения для IBM PC. За 80 тысяч долларов IBM получала права на использование операционной системы MS-DOS, интерпретатора BASIC и нескольких других приложений. Если бы на месте Билла Гейтса был умный человек, он попросил бы IBM о лицензионных отчислениях с каждого проданного компьютера.

Билл Гейтс был не просто умным. Он был гением. Он не стал настаивать на роялти, вместо этого он попросил внести в контракт пункт о том, что Microsoft сохраняет все права на программное обеспечение, в том числе и право продавать его другим производителям компьютеров. Юристы IBM не стали возражать: в конце концов, на рынке на тот момент не было других производителей PC. Обе стороны разошлись довольные: Microsoft сохранила DOS в своей собственности, а IBM получила выгодный контракт.

Но уже буквально через пару лет этот «выгодный контракт» стал для IBM настоящим проклятием. Поскольку PC состоял из стандартных комплектующих и имел открытую архитектуру, кто угодно мог создать его аналог, полностью совместимый с оригиналом. Единственным закрытым и защищённым копирайтом компонентом был чип BIOS, содержащий прошивку ПК. Но и эта проблема была решена, когда компания Phoenix разработала написанную с нуля и чистую с легальной точки копию оригинального IBM PC BIOS. Не хватало последнего компонента — операционной системы. Разумеется, Билл Гейтс и Microsoft были счастливы продать эту операционную систему всем желающим. В результате Microsoft и Intel прекрасно зарабатывали, продавая ПО и процессоры направо и налево, а IBM оставалось только смотреть на это и скрежетать зубами.
3. Apple, Macintosh и первая версия Windows
Microsoft была одним из первых разработчиков программного обеспечения для платформы Apple Macintosh
В 1983 году Microsoft выпустила первую версию текстового процессора Word, который тогда назывался Multi-Tool Word. Apple, уже имевшая опыт сотрудничества c Microsoft, обратилась к Биллу Гейтсу с предложением разработать версию Word и табличного процессора Multiplan для новой платформы Macintosh, которая на тот момент находилась в разработке и должна была дебютировать в 1984 году.

Принято считать, что именно Macintosh послужил прообразом Windows. Но на самом деле разработка первой версии началась ещё в 1982 году, сразу после того, как Билл Гейтс увидел демо-версию графической оболочки VisiOn на выставке COMDEX.

Ещё одно типичное заблуждение гласит, что Microsoft «украла» графический интерфейс у Apple. Однако графический интерфейс пользователя (GUI) не был изобретением Apple, Стив Джобс позаимствовал идею во время визита в исследовательский центр Xerox в Пало-Альто. К тому же Microsoft в рамках договора о разработке Word и Excel для Macintosh получила от Apple лицензию на использование ограниченного набора элементов графического интерфейса. В Windows 1.0 использовались только те элементы, на которые у Microsoft была лицензия. Именно поэтому в первой версии оболочки было множество ограничений, в частности, окна не могли перекрывать друг друга.

VisiCalc VisiOn была первой графической оболочкой для IBM PC
Само название Windows было придумано главой маркетингового отдела Microsoft Роуландом Хэнсоном. До этого предполагалось, что новый продукт будет называться Interface Manager, но Хэнсон убедил Билла Гейтса, что название Windows будет лучше воспринято потребителями. Windows 1.0 была анонсирована в 1983 году, а в продажу поступила 1 ноября 1985 года. Разумеется, Стив Джобс был в ярости, а Apple в конце концов подала на Microsoft в суд. Судебное разбирательство завершилось только в 1993 году — в пользу Microsoft.
У Windows 1.0 было немало проблем. Она не отличалась особой функциональностью и стабильностью. Это сегодня Windows может похвастаться большим каталогом приложений, а тогда единственными программами для Windows были программы, распространявшиеся в комплекте с ней. Так что пользователи Windows использовали её в основном с DOS-приложениями. И тут была одна большая проблема: дело в том, что Windows поддерживала многозадачность только для тех DOS-приложений, которые не содержали прямых обращений к «железу».

По сути, основной целью Microsoft было создание основы для будущих улучшений. С этой задачей Windows 1.0 справилась хорошо. Кроме того, Windows API (интерфейс программирования приложений) был достаточно стабильным уже с первой версии. Программы для Windows 1.0, как правило, нормально запускаются и работают в современных 32-битных версиях Windows (а вот в 64-битных не работают, поскольку в них отсутствует поддержка 16-битных приложений).
Графический интерфейс
Windows 1.0
4. Борьба с OS/2 и появление Windows NT
Сегодня операционная система OS/2 почти забыта, но на деле её история неотделима от ранней истории Windows. В 1985 году Microsoft и IBM заключили соглашение о разработке операционной системы под условным названием Advanced DOS, которая должна была обладать неслыханными возможностями: графическим интерфейсом, поддержкой настоящей вытесняющей многозадачности, защитой памяти, более надёжной файловой системы. Разработкой OS/2 занималась Microsoft, но оплачивала эту работу IBM, она же формулировала техническое задание к новой ОС. Всё это было частью одного грандиозного плана, который должен был вернуть IBM контроль над рынком PC-совместимых компьютеров.

Одна часть этого плана заключалась в выпуске компьютеров линейки PS/2. В отличие от более ранних IBM PC, PC XT и PC AT, имевших открытую архитектуру, в PS/2 ключевой элемент — шина MCA — был запатентован. Кроме того, в этих компьютерах появились разъёмы PS/2, которые используются в настольных компьютерах до сих пор (их можно назвать последним значимым вкладом IBM в развитие индустрии персональных компьютеров).

Второй частью плана был выпуск операционной системы, которая должна была находиться полностью под контролем IBM. Технически OS/2 могла работать на любом IBM-совместимом ПК, но продвинутые функции — такие, как пакет сетевых функций — были доступны только владельцам «чистопородных» компьютеров IBM.

Разумеется, из этой затеи ничего не получилось сразу по нескольким причинам. Во-первых, IBM относилась к Microsoft как к обычному подрядчику и оплачивала написание новой операционной системы… исходя из объёма кода. Таким образом, чем более раздутым и неэффективным был код OS/2, тем больше получала Microsoft. В результате первая версия OS/2, вышедшая в 1987 году, требовала минимум 4 МБ оперативной памяти для нормальной работы — и это притом, что у неё не было графического интерфейса пользователя! Оперативная память тогда стоила порядка 500 долларов за мегабайт. (Windows на тот момент обладала графическим интерфейсом и нормально работала на компьютерах с 1.5 МБ ОЗУ.)
Именно так выглядела OS/2 1.0. По-богатому!
Графический интерфейс OS/2 версий 1.х был очень похож на Windows
Во-вторых, IBM настояла на том, чтобы Microsoft использовала новые функции процессора Intel 80286 — например, такие, как защищённый режим. Но у процессора 286 была одна неприятная особенность: перевести его из защищённого режима обратно в реальный можно было только перезагрузкой компьютера. Из-за этого у OS/2 были большие проблемы с DOS-приложениями, которые на тот момент доминировали на рынке. При этом IBM была категорически против адаптации OS/2 для процессоров 80386, которые позволяли решить эту проблему за счёт использования режима виртуального 8086 (то есть, по сути, аппаратной виртуализации).

OS/2 1.1, в которой появился обещанный графический интерфейс, была выпущена в 1988 году. Однако к тому моменту на рынок уже вышла Windows 2.0, которая по-прежнему требовала гораздо меньше ресурсов для работы, была лучше совместима с DOS-приложениями и к тому же позволяла запускать DOS-программы в режиме многозадачности (но только в версии Windows/386, которая использовала все преимущества новых процессоров Intel). Большим шагом вперёд для Windows стал выход PC-версии Aldus PageMaker (самой популярной на тот момент программы для вёрстки).
Windows 2.0 выглядела хуже, чем OS/2 1.x, но требовала меньше ресурсов и лучше работала с DOS-программами
Так что тот факт, что IBM и Microsoft в конце восьмидесятых официально решили расстаться и прекратить сотрудничество в области разработки операционных систем, не вызвал никакого удивления. Масла в огонь подлило то, что Дейв Катлер (новый глава отдела разработки операционных систем, пришедший в Microsoft из DEC) с пренебрежением относился к OS/2 и считал её недостойной дальнейшего развития. Катлер напрямую руководил разработкой ОС, которая в дальнейшем стала известна как Windows NT. NT изначально разрабатывалась как современная, стабильная и хорошо портируемая ОС. Именно на ядре Windows NT до сих пор основаны все ОС Microsoft, включая Windows Phone и Windows 10.
Графический интерфейс OS/2 2.0
IBM не сдавалась и в 1992 году выпустила OS/2 2.0 — первую 32-битную версию системы, которая получила полную поддержку процессора 386. В этой версии IBM использовала режим виртуального 8086 для создания виртуальной DOS-машины, которая была настолько продвинута, что позволяла запускать полную копию Windows 3.x и приложения для неё. Новая версия OS/2 продвигалась под слоганом «лучшая DOS, чем DOS, и лучшая Windows, чем Windows», что было в какой-то мере правдой. За счёт этого данной операционной системе даже удалось на какое-то время достичь относительной популярности. Однако столь высокий уровень совместимости с Windows сыграл с IBM злую шутку: никто не утруждал себя разработкой нативных OS/2-приложений. В результате после выхода 32-битной Windows 95 оказалось, что приложений для OS/2 практически и нет, что привело к падению популярности этой ОС и её уходу с рынка.
5. Windows 95 — окончательный триумф
Хотя Windows 3.0 и 3.1 были относительно успешны, настоящий успех пришёл к Microsoft только в 1995 году с выпуском Windows 95. Иногда Windows 95 называют первой 32-битной версией Windows, но это неверно. Первой 32-битной Windows была Windows NT, дебютировавшая в 1993 году, но Windows 95 стала первой 32-битной версией для обычных пользователей (Windows NT позиционировалась как ОС для рабочих станций и серверов).

Помимо 32-битности, Windows 95 получила новый интерфейс с рабочим столом, панелью задач и кнопкой «Пуск», который стал стандартом де-факто для всех последующих версий Windows. (Microsoft попыталась отойти от этой модели в Windows 8. Мы все знаем, чем это закончилось.)
Выход Windows 95 сопровождался рекламной и маркетинговой кампанией стоимостью 300 миллионов долларов и стал самым успешным запуском программного продукта в истории. Люди заранее занимали очереди, чтобы купить коробку c Windows 95 одними из первых.

Можно сказать, что именно Windows 95 стала продуктом, который окончательно закрепил положение Microsoft как безусловного монополиста на рынке операционных систем. Её выход очень сильно подкосил Apple (которая так и не смогла отвоевать свои предыдущие позиции на рынке ПК) и привёл к фактической гибели конкурирующих ОС (таких, как OS/2).

Разумеется, после Windows 95 у Microsoft были и другие удачные системы и продукты — например, Windows XP, объединившая «пользовательскую» и «профессиональную» линейки ОС. Но это уже совсем другая история…
Made on
Tilda