Microsoft продолжает открывать DOS
Код ОС написан на языке ассемблера процессора Intel 8086 и распространяется на условиях свободной лицензии MIT. Помимо кода, доступны бинарные образы установочных дискет, а также документация к системе в формате PDF.
Проект опубликован в соответствующем репозитории на хостинге ИТ-проектов GitHub, который принадлежит Microsoft с 2018 г. Работать с правками к коду в компании не планируют, поэтому просят не присылать запросы на принятие изменений (пул-реквесты), а создавать собственные форки для дальнейшего совершенствования программы.
В Microsoft утверждают, что перед публикацией кода специалисты компании смогли успешно собрать и запустить ОС на реальном «железе»: IBM PC XT и ПК на одном из первых процессоров Intel семейства Pentium. Сборка также работает в эмуляторах с открытым исходным кодом PCem и 86box.
В 2014 г. Microsoft передала Калифорнийскому музею компьютерной истории исходные коды двух ранних версий операционной системы MS-DOS – 1.25 (1982 г.) и 2.0 (1983 г.)., а позднее выложила их в открытом доступе на GitHub, где они доступный и по сей день.
Чем интересна MS-DOS 4.00
MS-DOS 4.00 вышла в октябре 1988 г. Релиз отличался большим количеством багом и наличием проблем совместимости с существующими приложениями. Значительную часть из них Microsoft устранила с в обновлении MS-DOS 4.01, которое увидело свет уже в декабре 1988 г.
Несмотря на ряд недостатков четвертая версия знаменитой ОС обладала значительным количеством полезных новшеств. В ОС впервые появился простой графический пользовательский интерфейс с поддержкой мыши.
Кроме того, от своих предшественниц эта версия ОС Microsoft отличается наличием поддержки разделов жесткого диска размером больше 32 МБ (но не более 2 ГБ), возможностью буферизации дисковых операций с использованием расширенной памяти EMS (область «верхней» памяти в диапазоне от первых 640 КБ до 1 МБ ОЗУ).
В состав MS-DOS 4.00 также был впервые включен файловый менеджер с псевдографическим интерфейсом DOS Shell, который затем станет неотъемлемой частью дистрибутива ОС вплоть до версии 6.0. Впоследствии, до выхода MS-DOS 6.22, поставлялся на дискете с дополнительным ПО (Supplemental Disk).
Также стоит отметить, что MS-DOS 4.x стала последней версией ОС, установка которой осуществлялась при помощи программы Select. В дальнейшем для этой процедуры использовалась утилита Setup.
Многозадачный вариант ОС
Помимо «классической» однозадачной MS-DOS 4.0, существует вариант ОС с поддержкой вытесняющей многозадачности (MS-DOS 4.0 Multitasking), который, несмотря на нумерацию версии, в действительности построен на кодовой базе MS-DOS 2.0.
В системе были реализованы планировщик задач и такие механизмы межпроцессного взаимодействия как конвейеры и разделяемая память. ОС не умела работать в защищенном режиме, который поддерживали процессоры Intel, начиная с модели 80386, что делало ее не слишком надежной. Кроме того, от предшественниц она унаследовала невозможность работы с пространством оперативной памяти за пределами первых 640 КБ.
Microsoft впоследствии пришлось свернуть этот проект, поскольку он не вызвал интереса у OEM-партнеров компании, в частности, IBM.
В GitHub-репозитории с исходным кодом MS-DOS сегодня можно найти файлы, связанные не только с «классической» четвертой версией ОС, но и с бета-версией ее многозадачного варианта, в том числе образцы документации и бинарники.