Представьте себе время, когда персональные компьютеры только появились, а концепция графического интерфейса пользователя была еще далекой мечтой. Эта эпоха ознаменовала собой расцвет MS-DOS. Почти пятнадцать лет DOS была основой, от которой зависели тысячи прикладных программ, работающих на миллионах IBM PC и клонов PC.

В статье рассмотрим, как появилась MS-DOS. Расскажем, почему создателя MS-DOS обвиняли в плагиате, как IBM совершила огромную коммерческую ошибку, и что позволило Microsoft занять лидирующие позиции на рынке ПО.


Неудачные переговоры и коммерческая ошибка века

В 1980 году IBM решила ворваться на рынок персональных компьютеров и запустила проект по созданию своего первого ПК — IBM PC. Вместо использования узкоспециализированных деталей, компания решила пойти другим путём — собрать компьютер из стандартных коммерческих компонентов. В качестве центрального процессора они выбрали Intel 8088. Такой подход позволил сократить затраты и ускорить процесс разработки, что оказалось очень важным в условиях стремительного развития рынка.

IBM использовала тот же принцип и при выборе программного обеспечения. Вместо того чтобы разрабатывать систему с нуля, компания решила сотрудничать со сторонней фирмой, обладающей опытом в этой области. Для этого они обратились к лидеру рынка — компании Digital Research Inc. (DRI).

DRI была основана в 1973 году Гэри Килдаллом, который разработал операционную систему CP/M (Control Program for Microcomputers). Эта система стала невероятно популярной: к 1980 году компания продала более 250 тысяч копий, что сделало CP/M лидером на рынке операционных систем для микрокомпьютеров.

Гэри Килдалл в 1977 году
Гэри Килдалл в 1977 году

В августе 1980 года представители IBM отправились в Digital Research, чтобы обсудить возможность использования CP/M-86 для нового IBM PC. CP/M-86 должна была стать версией для 16-разрядного процессора Intel 8088/8086, но на тот момент она еще не была разработана.

Однако договориться не удалось. Почему? Есть несколько противоречивых версий о том, как проходила встреча между IBM и Гэри Килдаллом.

Согласно одной из версий, Гэри Килдалл не смог присутствовать на переговорах, потому что отправился в путешествие. В итоге встречу проводила его жена и партнёр по бизнесу — Дороти Макьюэн. Однако она отказалась подписать предложенное IBM одностороннее соглашение о неразглашении (NDA).

По другой версии, Килдалл и сотрудник DRI Том Роландер в это время были заняты доставкой программного обеспечения клиенту, оставив переговоры на Дороти. Она посчитала условия NDA слишком жёсткими и решила дождаться возвращения мужа. Когда Килдалл вернулся, версии разошлись: одни утверждают, что он подписал NDA, другие — что так и не участвовал в дальнейших переговорах.

Килдалл говорил, что встретился с представителем IBM Джеком Сэмсом во время полета и достиг предварительной договоренности. Однако Сэмс опроверг это утверждение. В итоге сделка так и не была заключена.

Переговорщики IBM отправились в Сиэтл и встретились с Биллом Гейтсом, который предложил альтернативное решение для операционной системы IBM PC. Эта ситуация стала поворотным моментом в истории Microsoft.

Ход Microsoft

Дон Эстридж, руководивший проектом IBM PC, отмечал, что одной из ключевых причин, по которой IBM выбрала Microsoft, стало огромное количество пользователей BASIC от Microsoft. В то время как версия BASIC от IBM была не такой распространённой.

В книге «Fire in the Valle» упоминается, что когда генеральный директор IBM Джон Опель услышал о сотрудничестве с Microsoft, он воскликнул: «О, это компания сына Мэри Гейтс?». Дело в том, что Опель и мать Билла Гейтса работали вместе в национальном совете United Way, так что выбор в пользу Microsoft мог быть неслучайным.

Так или иначе, IBM обратилась к небольшой компании Microsoft, которая на тот момент уже зарекомендовала себя как поставщик языков программирования.

IBM уже подписала контракт с Microsoft на поставку интерпретатора BASIC для своего нового ПК и затем попросила компанию рассмотреть возможность разработки операционной системы.

У компании Билла Гейтса не было операционной системы, которую она могла бы предложить. Но соучредитель Microsoft Пол Аллен вспомнил о своем друге Тиме Патерсоне, который работал в Seattle Computer Products (SCP).

Тим Патерсон в 1986 году
Тим Патерсон в 1986 году

SCP занималась продажей микропроцессорных плат и нуждалась в подходящей ОС для своего оборудования. 16-битная версия CP/M от Digital Research задерживалась, и поэтому для нового компьютера на базе процессора Intel 8086 Тим Патерсон разработал операционную систему, которую назвал QDOS (Quick and Dirty Operating System). Немного позднее QDOS была переименована в 86-DOS. 

Microsoft, понимая, какой потенциал имеет эта система в контексте сотрудничества с IBM, решила её лицензировать. В декабре 1980 года Microsoft подписала соглашение с SCP и заплатила 25 000 долларов за лицензию на 86-DOS.

Однако вскоре стало ясно, что полное владение 86-DOS открывает гораздо больше возможностей для её лицензирования другим производителям. Поэтому Microsoft выкупила все права на операционную систему за дополнительные 50 000 долларов.

Когда SCP подписывала лицензионное соглашение с Microsoft, у них не было полной уверенности в том, с кем именно работает Билл Гейтс. Патерсон позже признался:

«У всех нас были подозрения, что Microsoft имеет дело с IBM, но мы не знали наверняка».

Позже SCP подала в суд на Microsoft, утверждая, что та скрыла свои связи с IBM, чтобы приобрести операционную систему по более низкой цене. В итоге спор решили мирным путём, и Microsoft выплатила SCP почти 1 миллион долларов.

В 1981 году Патерсон покинул SCP и присоединился к Microsoft. В первый день на новом месте он с удивлением заметил: «Эй! Это же IBM». И действительно, в течение следующих 11 месяцев он активно взаимодействовал с инженерами IBM, которые разрабатывали персональный компьютер в Бока-Ратоне.

DOS 1.0, разработанная Патерсоном, состояла примерно из 4000 строк кода на ассемблере. Этот код был быстро доработан и представлен IBM для оценки. В итоге IBM согласилась использовать операционную систему, предложенную Microsoft.

Когда в августе 1981 года операционная система была официально выпущена с IBM PC, она получила название PC-DOS (версия 1.0).

Однако Билл Гейтс не предоставил IBM исключительную лицензию на DOS. Соглашение запрещало IBM лицензировать DOS, но не накладывало никаких ограничений на саму Microsoft.

Когда Microsoft только нашла систему Патерсона, Гейтс спросил IBM:

«Вы хотите купить QDOS или хотите, чтобы я купил её?».

Поскольку IBM уже решила использовать открытую архитектуру, они предложили, чтобы всё сделала Microsoft. И это стало первой коммерческой ошибкой IBM.

Билл Гейтс и Пол Аллен, 1981 год
Билл Гейтс и Пол Аллен, 1981 год

Вторая ошибка IBM обошлась компании очень дорого. В соответствии с контрактом IBM согласилась выплатить Microsoft в общей сложности 430 000 долларов. В IBM, вероятно, ожидали, что Билл Гейтс попросит больше денег, но вместо этого он хотел иметь возможность продавать DOS другим компаниям. И в IBM согласились.

Это условие контракта позволило Microsoft лицензировать операционную систему в общем виде как «MS‑DOS». В течение нескольких месяцев после сделки другие компании, особенно японские, начали обращаться к Гейтсу с предложениями по поводу DOS.

Microsoft получила огромный источник дохода. А вот у IBM спустя какое-то время начались проблемы. Другие компании начали создавать клоны IBM PC и покупать у Microsoft операционную систему MS-DOS и язык программирования BASIC. IBM не сумела удержать свою позицию на рынке и столкнулась с серьёзными финансовыми потерями.

Обвинение в плагиате

Сходства между операционными системами CP/M и MS-DOS вызвали много споров. 16-битная версия, разработанная Тимом Патерсоном, использовала похожие команды и некоторые интерфейсы 8-битной CP/M.

Из-за этого споры о заимствованиях между DOS и CP/M продолжались много лет. Гэри Килдалл и его компания Digital Research Inc. (DRI) утверждали, что QDOS, созданная Патерсоном, была просто копией CP/M.

Килдалл всегда говорил, что большая часть QDOS была украдена: «Спросите Билла [Гейтса], почему код функции 6 заканчивается знаком доллара. Никто в мире не знает этого, кроме меня».

Патерсон, в свою очередь, опровергал эти обвинения. В интервью он утверждал, что использовал только документацию, а не исходный код Килдалла. Он сказал авторам «Hard Drive: Bill Gates and the Making of the Microsoft Empire»:

«В то время я сказал Килдаллу, что ничего не копировал. Я просто взял его печатную документацию и сделал то же самое. Это не нарушает никаких законов об интеллектуальной собственности. Если вы следуете рецепту из книги, это не нарушает авторских прав на рецепт».

Целью Патерсона было облегчить разработчикам перенос их приложений с процессора 8080 на новую платформу, поэтому он использовал руководства Intel и CP/M от Digital, чтобы адаптировать инструкции.

«После перевода этих программ моя операционная система могла выполнять функции CP/M таким же образом», — объяснял Патерсон. «Для этого не нужно было иметь исходный код CP/M, достаточно было руководства Digital, и на его основе я написал свою операционную систему. Я никогда не смотрел код Килдалла, только его документацию».

Спустя три десятилетия Боб Зейдман, программист и эксперт по интеллектуальной собственности, провёл детальный анализ кода QDOS, CP/M и PC-DOS. Его выводы показали, что QDOS не была скопирована с CP/M. Однако стоит отметить, что в тот период Зейдман работал с Биллом Гейтсом, хотя и по другим проектам.

Адвокат DRI Дэвис утверждал, что эксперты доказали наличие заимствования кода, но в 1981 году возможность судебного разбирательства по вопросам авторских прав была ограничена, хотя закон о защите авторских прав на программное обеспечение был принят ещё в 1980 году.

Есть версия, что Килдалла отговорили подавать иск, предложив вместо этого лицензировать CP/M для IBM PC.

Однако IBM продавала CP/M за 240 долларов за копию, в то время как PC-DOS стоил всего 39,95 долларов. В IBM утверждали, что это произошло из-за того, что Килдалл запросил слишком высокую лицензионную плату. В результате продажи CP/M были низкими, а популярность PC-DOS продолжала расти.

Выход в свет

Когда IBM анонсировала свой персональный компьютер, они планировали, что он будет поддерживать три операционные системы: MS-DOS, CP/M-86 и p-System SofTech Microsystem. Но на старте продаж IBM PC только MS-DOS была готова к использованию.

В 1981 году девять из десяти популярных программ работали под управлением CP/M-80. CP/M-86, которая стала доступна примерно через шесть месяцев после выпуска IBM PC, казалась фаворитом среди операционных систем для большинства авторов и рецензентов в отраслевой прессе.

MS-DOS постоянно сравнивали с CP/M-80 и CP/M-86, и основная проблема заключалась в совместимости. Тогда никто и не думал, что MS-DOS не только догонит, но и обойдет CP/M.

Билл Гейтс, 1982 год
Билл Гейтс, 1982 год

Даже сам Билл Гейтс говорил:

«Наш самый оптимистичный взгляд на количество машин, использующих MS-DOS, не соответствовал тому, что на самом деле произошло»

IBM PC оказался намного успешнее, чем ожидалось. За первый год IBM продавала 30 000 компьютеров в месяц, что оказалось настоящим успехом.

Кроме того, IBM начала поставлять все свои языки программирования и приложения в формате MS-DOS. Это подтолкнуло разработчиков к созданию программного обеспечения именно для MS-DOS, тем самым формируя целую экосистему программ, доступных только для этой системы.

Оригинальная реклама MS-DOS 1981 года
Оригинальная реклама MS-DOS 1981 года

В течение нескольких лет Microsoft активно конкурировала с операционными системами Digital Research на базе CP/M. Но Microsoft оставалась лидером в области языков программирования, что давало компании возможность контролировать, какие операционные системы будут лучше всего работать с их языками.

Microsoft не спешила выпускать версии своих языков для CP/M-86, и даже когда они выходили, их цена была на 50% выше, чем у аналогичных продуктов для MS-DOS. К тому же BASIC для CP/M-86 не поддерживал графику, что добавляло сложностей разработчикам.

По данным книги «Доминирование на рынке: как фирмы приобретают, удерживают или теряют его и как это влияет на экономические показатели», к декабрю 1984 года MS-DOS уже заняла лидирующие позиции на рынке операционных систем. К июню 1986 года MS-DOS приносила половину доходов Microsoft, что составляло 60,9 миллиона долларов.

Технические особенности и версии MS-DOS

Первая версия MS-DOS 1.0 состояла из 4000 строк кода на ассемблере и могла работать всего в 8 КБ памяти. В системе были утилиты DEBUG, EDLIN и FORMAT, а также три главных файла. Первый — IBMBIO.COM — отвечал за взаимодействие с ROM BIOS и обеспечивал ввод-вывод с диска и символов. Второй, IBMDOS.COM, содержал ядро DOS. Третий — COMMAND.COM — выступал в роли внешнего командного процессора.

MS-DOS позволяла переносить программы, написанные для CP/M, на IBM PC. Была возможность автоматически переводить исходный код с процессора 8080 на 8086.

Как и CP/M-80, MS-DOS использовала имена файлов длиной до восьми символов и трёхсимвольные расширения, а также имела аналогичное обозначение дисководов в командных строках. Но она была не просто копией CP/M. Microsoft хотела, чтобы MS-DOS могла легко адаптироваться к новым аппаратным решениям, таким как разные типы дисков и процессоров.

MS-DOS сделала ввод и вывод данных независимыми от устройств. Каждому устройству было присвоено зарезервированное имя: CON для консоли, PRN для принтера и AUX для последовательных портов. Эти имена направляли команды на устройства, а не на файлы, что упрощало работу.

В MS-DOS появилась возможность работы с файлами любого размера, что позволяло поддерживать логические записи нужного объёма. Командный процессор COMMAND.COM стал отдельным перемещаемым файлом, что позволило MS-DOS гибко управлять ресурсами.

Для управления файлами MS-DOS использовала систему FAT (File Allocation Table). Это позволяло операционной системе быстро находить и загружать файлы, включая большие.

Система улучшила обработку ошибок, включила автоматическое ведение журнала дисков, отметку даты и времени файлов. MS-DOS также могла перехватывать команду прерывания Control-C, что позволяло защищаться от случайного завершения программ или обеспечить корректное завершение работы при необходимости. При внесении изменений информация о памяти диска обновлялась автоматически, что снижало количество ошибок.

Приложения и программы в более простых системах удалялись из памяти после завершения. Однако MS-DOS могла загружать программы и сохранять их в памяти, даже при использовании других программ.

Командная строка MS-DOS
Командная строка MS-DOS

Всего у MS-DOS вышло восемь основных версий и около двадцати промежуточных обновлений. Первая версия, PC DOS 1.0, была выпущена в августе 1981 года.

В 1982 году появилась MS-DOS 1.24, в которой была добавлена поддержка двухсторонних 5,25-дюймовых 320-Кбайт дисководов, атрибуты файлов теперь включали время последнего изменения, а команда COPY получила возможность объединять файлы.

С выпуском MS-DOS 2.0 система обзавелась поддержкой жестких дисков и иерархической файловой структуры наподобие UNIX/XENIX.

В 1984 году появилась MS-DOS 3.0, разработанная для IBM PC/AT, которая уже поддерживала 20-Мбайт жесткие диски и 1,2-Мбайт 15-секторные дисководы. Также появилась возможность выполнять программы из другого каталога и поддержка виртуальных дисков в оперативной памяти.

MS-DOS 3.3C для серии PC-9800 
MS-DOS 3.3C для серии PC-9800 

В версии MS-DOS 4.0 появилась поддержка томов объёмом свыше 32 Мбайт и была добавлена визуальная оболочка.

С выходом MS-DOS 5.0 система стала гораздо удобнее для пользователей. Добавили полноэкранный текстовый редактор Edit, среду программирования QBASIC и справочную систему Help.

Последняя самостоятельная версия MS-DOS — 6.22 — вышла в 1994 году. Все последующие версии MS-DOS уже стали частью операционной системы Windows.

Появление Windows и эволюция MS-DOS

Постепенный упадок операционной системы DOS начался в середине 90-х, когда графические пользовательские интерфейсы (GUI) стали набирать популярность. Первой в этом направлении стала Apple Lisa в 1983 году, а затем — успешный Macintosh. Microsoft, видя успехи других компаний, начала разрабатывать собственные графические решения, и так появилась Windows.

Сначала Windows была просто графической оболочкой, работающей поверх DOS. Впервые о Microsoft Windows заговорили в статье «Войны окон!» от 25 февраля 1986 года, где рассматривались альтернативы для DOS, такие как DESQview.

Реальный прорыв произошёл с выходом Windows 95. Это событие стало знаковым и сопровождалось масштабной рекламной кампанией. В Windows 95 появилась кнопка «Пуск», а в рекламе использовали трек Rolling Stones «Start Me Up». Windows 95 несколько раз появлялась на обложке PC Magazine и задала новый стандарт интерфейса, который сохранялся до выхода Windows 8 в 2012 году.

Запрос MS-DOS в Windows 95
Запрос MS-DOS в Windows 95

С выходом Windows 95 эпоха DOS как самостоятельной операционной системы закончилась. В этой версии была интегрирована MS-DOS 7.0, которая поддерживала длинные имена файлов и объединила код MSDOS.SYS и IO.SYS.

MS-DOS 7.1 стала частью Windows 95 OSR2 и Windows 98, а последняя версия MS-DOS 8.0 вошла в состав Windows ME, но уже имела ограниченные функции. Она также использовалась для аварийной загрузки в Windows XP и более поздних версиях.

Значение MS-DOS

Успех 16-разрядных микрокомпьютеров зависел от единой операционной системы, ведь разработчикам сложно было создавать программы под несколько разных ОС. Microsoft стремилась сделать MS-DOS стандартом, поэтому выбрала аппаратно-независимую архитектуру, чтобы ОС легко адаптировалась под разное оборудование.

Запуск MS-DOS стал началом новой эры в компьютерной индустрии. До её появления персональные компьютеры использовались в основном энтузиастами, но MS-DOS сделала компьютеры доступными для широкой аудитории. Благодаря совместимости с IBM PC, MS-DOS установила стандарт для аппаратной части, что дало разработчикам ПО возможность выйти на более массовый рынок.

MS-DOS установила стандарты для командной строки, файловой системы и стала основой для первых версий Windows. Со временем она уступила место более современным ОС, но её влияние на индустрию неоспоримо. Она сделала компьютеры доступными для миллионов людей, установила стандарты, которые используются до сих пор, и превратила Microsoft в одну из ведущих технологических компаний.


НЛО прилетело и оставило здесь промокод для читателей нашего блога:

-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

Комментарии (8)


  1. svitoglad
    05.11.2024 20:00

    Если Майкрософт купили купили QDOS то почему Гэри решил что что-то скопировали с СР/М?


    1. kalina87
      05.11.2024 20:00

      В тексте не упоминается основная фича QDOS — возможность запуска программ для CP/M


  1. Krey
    05.11.2024 20:00

    Как именно "MS-DOS позволяла переносить программы, написанные для CP/M" ?


    1. AlexGfr
      05.11.2024 20:00

      Путем портирования. Когда ОС предоставляет программам схожий набор функций и устроена сходным образом можно перекомпилировать исходники программы с минимальными изменениями и получить версию уже под новую ОС.


      1. Krey
        05.11.2024 20:00

        asm от разных процессоров перекомпилировать нельзя. Тут мы переходим ко второй части этого утверждения, про автоматический перевод исходного кода из 8080 в 8086. Что именно это делало? Intel какую нибудь утилиту предоставлял?


    1. alexero
      05.11.2024 20:00

      В состав первых версий DOS входила утилита TRANS.COM трансляции ассемблера x80 в ассемблер 8086. Подробнее здесь: https://en.wikipedia.org/wiki/Source-to-source_compiler#TRANS

      «Автоматическая трансляция» была только в рекламе, на самом деле требовала изрядного допиливания вручную.


  1. ViacheslavNk
    05.11.2024 20:00

    Да как всегда важной составляющей успеха является случай, не провалились бы переговоры IBM c DRI то вероятно был бы "другой" Майкрософ.