До того как «Micro Soft» стала Microsoft, Билл Гейтс писал интерпретаторы BASIC. Первой операционной системой, выпущенной Microsoft, был дистрибутив Unix под названием Xenix. Затем, в 1980 году, Microsoft получила свой шанс на успех: IBM нуждалась в операционной системе для планируемого IBM PC и спросила Гейтса, сможет ли он ее предоставить. Еще бы! Остальное — история.
Теперь Microsoft опубликовала исходный код и примечания к PC-DOS 1.00, первой версии DOS для IBM PC.
Лицензия Microsoft на AT&T Unix не давала компании возможности портировать Xenix на IBM PC с архитектурой x86. Это привело бы к появлению совершенно другого мира, в котором Unix была бы ведущей операционной системой для настольных компьютеров с тех пор и по сегодняшний день. В другой реальности Линус Торвальдс мог бы стать техническим директором Microsoft по Unix.
Microsoft покупает 86‑DOS за $100000
В реальном мире Гейтсу и компании пришлось как можно быстрее состряпать операционную систему. У них не было времени на разработку собственной, поэтому они купили 86-DOS, также известную как QDOS, у Seattle Computer Products и ее изобретателя, Тима Паттерсона, чуть менее чем за 100 000 долларов. Какая удача! DOS стала той программой, которая поставила Microsoft на путь к тому, чтобы стать одной из ведущих компаний технологической индустрии на следующие 50 лет и далее.
IBM хотела операционную систему, похожую на CP/M, но Digital Research, владелец CP/M, затянула с решением, поэтому «Большая синяя» обратилась к Microsoft. Microsoft адаптировала 86-DOS, которая имела интерфейсы прикладного программирования (API) в стиле CP/M, в то, что IBM выпустила как PC-DOS 1.0 в августе 1981 года. Microsoft сохранила за собой право продавать ее как MS-DOS, если появятся другие производители ПК-совместимых компьютеров. Это заложило основу для доминирования Microsoft после 1981 года.
Однако в то время это был довольно рискованный шаг. По современным меркам тот первый выпуск был крайне ограничен. Он запускался с 160-килобайтных дискет, но не поддерживал подкаталоги и жесткие диски. Тем не менее, он стал основой линейки MS-DOS, которая доминировала среди операционных систем для ПК на протяжении 1980-х и в начале 1990-х годов.
До сих пор самым ранним исходным кодом DOS, широко доступным для разработчиков, были MS-DOS 1.25 и 2.0, которые Microsoft первоначально выпустила через Музей истории компьютеров в 2014 году, а затем переиздала на github в 2018 году. Эти релизы на GitHub, наряду с более поздней публикацией совместного исходного кода MS-DOS 4.00 от Microsoft и IBM, сигнализировали о том, что Microsoft все больше и больше привыкает рассматривать свой некогда проприетарный код DOS как образовательный и исторический ресурс.
Когда Microsoft и Музей истории компьютеров впервые опубликовали ранний исходный код MS-DOS в 2014 году, он был выпущен под строго ограниченной лицензией, которая разрешала только «некоммерческие исследования, эксперименты и образовательные цели» и явно запрещала повторное использование в других проектах. Такой подход делал код читаемым, но не по-настоящему пригодным к использованию. Позднее переиздание MS-DOS 1.25 и 2.0 на GitHub под лицензией MIT изменило ситуацию: была принята разрешительная лицензия, которую Фонд свободного программного обеспечения описывает как совместимую с GPL и допускающую практически неограниченное повторное использование, модификацию и распространение.
Переход DOS 1.0 на ту же лицензию завершает историю с самого начала эры ПК. Вместо того чтобы оставаться запертым в архиве, код теперь представляет собой дерево git, доступное для просмотра. С помощью этого кода системные программисты, преподаватели и любители ретрокомпьютеров могут клонировать, компилировать и экспериментировать с использованием современных инструментариев.
Microsoft делится не только исходным кодом DOS. Microsoft пояснила: «Эти материалы — не просто выпуски операционной системы в традиционном смысле. В ряде случаев эти листинги представляют собой рабочие состояния на определенный момент времени и рукописные заметки, сохраненные самим Тимом Патерсоном. Считайте их распечатанной историей коммитов репозитория Git».
Как велась разработка операционных систем
Никто не будет использовать эти версии для реальной работы. Однако они по-прежнему чрезвычайно поучительны для тех, кто хочет понять, как были построены операционные системы на аппаратном обеспечении 8086 первого поколения. Небольшой размер и ограниченные возможности DOS 1.0 делают его понятной кодовой базой, которую можно понять практически от начала до конца, особенно по сравнению с сегодняшними разросшимися операционными системами.
Как заявила Microsoft: «Листинги включают исходные коды ядра 86-DOS 1.00, несколько снимков разработки ядра PC-DOS 1.00 и некоторые хорошо известные Утилиты, такие как CHKDSK. Это были не только листинги на ассемблере, но и листинги самого ассемблера! Эта работа дает редкую возможность понять, как появились MS-DOS/PC-DOS и как велась разработка операционных систем в то время, а не так, как это было реконструировано позже».
Открытие исходного кода также помогает прояснить давние вопросы о версиях. Никогда не существовало продукта MS-DOS 1.0, продаваемого под этим точным названием, и историкам приходилось согласовывать PC-DOS 1.0 от IBM, внутренние номера версий Microsoft и OEM-релизы, такие как MS-DOS 1.25. Наличие четко обозначенного набора кода DOS 1.0, связанного с эпохой оригинальных IBM PC, дает исследователям конкретную точку отсчета для этого клубка ранних сборок DOS.
Итак, если вы хотите окунуться в прошлое, попробуйте этот код. По крайней мере, это поможет вам осознать, каким долгим и странным был путь от ранних дней ПК до сегодняшнего мира, где у вас в кармане больше вычислительной мощности, чем было у Гейтса и его команды во всей компании.




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