Хотя доподлинно известно, что MS-DOS приобрела популярность благодаря успеху IBM PC, корни ее берут начало в первых поколениях микрокомпьютеров. Так, первые, широко распространенные микрокомпьютеры были построены на аппаратной части, использующей так называемую шину S-100. Начало этому было положено с появлением в 1976 г. разработанного предприятием MITS (Microwave Instrumentation and Telemetry Systems) компьютера Altair 8800. Конструктивной особенностью системной платы Altair было отсутствие на ней каких-либо жестко встроенных модулей — по сути, она имела только ряд 100-контактных разъемов (шин S-100), необходимых для подключения других плат. В роли последних выступали как непосредственно основные элементы компьютера (процессор, память), так и дополнительные (терминал, последовательные и параллельные интерфейсы, адаптеры клавиатуры, дисплея, магнитофона). Фактически пользователь мог выбрать конфигурацию Altair по своему усмотрению: расширить память, модернизировать процессор, добавить новые функции. Именно она, шина S-100, обеспечила поразительную популярность Altair 8800, обусловленную гибкостью его конструкции. Только благодаря концепции S-100 появилось множество фирм и предприятий, разрабатывающих платы для Altair.
В 1978 г. небольшая фирма Seattle Computer Products (SCP), располагающаяся в городе Туквила (Tukwila), шт. Вашингтон, начала производство карт памяти для шины S-100. Часть своей продукции SCP реализовывала посредством специализирующегося на компьютерах магазина в Сиэтле — The Retail Computer Store. В этом магазине работает техником Тим Патерсон, одновременно учащийся в Университете Вашингтона (University of Washington). Примечательным для нашей истории оказался один факт биографии Тима: он очень хорошо разбирался в компьютере Imsai 8080.
Однажды, когда владелец SCP Род Брок (Rod Brock) в очередной раз приехал в магазин забрать новые заказы от покупателей, они разговорились. Брок пожаловался Патерсону на ряд проблем, возникающих при использовании производимых SCP плат памяти. Тим высказал по этому поводу несколько толковых идей, Брок же взял парня на заметку и после окончания университета предложил Патерсону работу в SCP, где тот, согласившись на зарплату в 50 долл. в день, и пытался найти решение задачи.
Персональный компьютер Altair 8800 (1975, 397 долл.): сколько же талантов он воспитал?
В июле 1978 г. появляется микропроцессор Intel 8086. Опытный Брок посылает Тима на интеловский семинар, посвященный новому продукту. Заметим, что подавляющее большинство тогдашних компьютеров со схемой
S-100 базировалось либо на Intel 8080, либо на Zilog Z-80. Процессор 8086 был потенциально быстрее своих предшественников, хотя и не мог выполнять существующие 8-разрядные программы.
Будучи достаточно прозорливым, Брок дает Патерсону задание разработать плату с процессором 8086 для шины S-100. Первые удачные прототипы появились уже в мае 1979 г. Тогда же SCP обращается в Microsoft с просьбой подумать о создании 16-разрядного ПО для нового компьютера компании. Так уж случилось, что в самой Microsoft уже какое-то время велись разработки программ для 8086. В итоге прототипы SCP снабжаются 16-разрядной автономной дисковой версией Бейсика от Microsoft.
В ноябре 1979 г. SCP начинает продажи своих компьютеров на базе Altair и процессора 8086 с установленным интерпретатором Бейсика от Microsoft. Между тем Бейсик, являясь скорее игрушкой, чем полноценным языком программирования, не предлагал каких-либо удачных средств для написания стороннего коммерческого ПО, поэтому Брок принимает решение о создании операционной системы для своих компьютеров.
Не секрет, что в то время ОС CP/M производства Digital Research являлась чуть ли не единственной операционной системой для 8-разрядных микрокомпьютеров, своего рода стандартом де-факто. Следуя за технологическим прогрессом, Digital Research усиленно работает над новой, 16-разрядной версией своей ОС (CP/M-86), предназначенной для использования в компьютерах на основе процессора 8086. Становится понятно, почему Digital Research заинтересовалась разработкой SCP. Однако Брок сотрудничать отказывается. Между тем выход CP/M-86 намечен на конец 1979 г.
Но даже к апрелю 1980 г. CP/M-86 так и не выходит — Брок сильно обеспокоен. И действительно, кто купит компьютеры, пусть даже с новым 8086, но без набора программного обеспечения? Думается, только либо разработчики, либо энтузиасты, желающие быть всегда на гребне технологической волны. Патерсон предлагает Броку написать собственную операционную систему, не дожидаясь, пока Гари Килдалл закончит свою CP/M-86.
Итак, наш герой чувствует, что сможет проделать аналогичную работу и в отношении 8086, причем уверен, что его ОС (далее по тексту DOS — Disk Operating System, дисковая операционная система) окажется много лучше CP/M. План Тима состоял из двух этапов. Первым делом Патерсон предполагает создание «быстрой и грязной» (quick and dirty) DOS — для того чтобы немедленно заполнить недостающее звено в цепи продаж компьютеров на базе 8086. Далее планировалась тщательная отладка (так никогда, к сожалению, и не реализованная) готовой DOS, которая затем должна была явиться в двух версиях: одно- и многопользовательской. Брок соглашается.
Патерсон выбрал верную стратегию для разработки DOS. В первую очередь была поставлена цель максимально облегчить написание ПО сторонними программистами в окружении DOS, а также упростить процесс переноса на другие платформы. Дело в том, что программы для 8-разрядной CP/M не могли непосредственно исполняться 16-разрядным 8086, их следовало немного переработать с учетом схемы адресации данных, поддерживаемой новым процессором. А поскольку CP/M лидировала в качестве операционной системы на микрокомпьютере, под нее были написаны тысячи программ, которые и требовалось перенести в среду DOS. Для этого Тим решил добиться совместимости с уже существующей 8-разрядной CP/M на уровне API-интерфейса. Это значительно облегчило программирование в DOS: все выглядело так, будто вы пишете под старой доброй CP/M.
Во-вторых, желая наделить свою операционную систему максимальной эффективностью и быстродействием, он пишет ее на чистом ассемблере.
В период с апреля по июль 1980 г. Патерсон тратит почти половину своего времени на создание QDOS. И уже в августе QDOS 0.11 начала продаваться в комплекте с компьютерами производства SCP на основе Intel 8086. Брок вновь связывается с Microsoft и предлагает ей заняться адаптированием существующего ПО под окружение QDOS. Гейтс выражает готовность, но... только за деньги.
В декабре 1980 г. Патерсон выпускает новую версию QDOS под маркой 86-DOS 0.33. Именно ее исходные тексты (порядка 4 тыс. ассемблерных строк) в последующем и приобретает Microsoft.