Microsoft опубликовала на GitHub исходный код MS-DOS 4.00, двоичные файлы, образы дисков и документацию на эту операционную систему. 45-летний код выпущен под лицензией MIT, что даёт разработчикам полную свободу действий. Четвёртая версия MS-DOS 4.00 любопытна тем, что была написана в сотрудничестве с IBM, демонстрировала зачатки многозадачности и образовала ветвь DOS под названием Multitasking DOS (или MT-DOS), распространение которой было ограничено.
Выпуск исходного кода MS-DOS 4.00 состоялся благодаря сотрудничеству между бывшим техническим директором Microsoft Рэем Оззи (Ray Ozzie) и компьютерным исследователем Коннором Хайдом (Connor Hyde). Весь код и остальные материалы, которые теперь доступны на GitHub, были сохранены Оззи. Работая в Lotus, он заархивировал несколько неизданных двоичных бета-версий MS-DOS 4. В сохранении исторического наследия также приняли участие вице-президент сообщества разработчиков Microsoft Скотт Хансельман (Scott Hanselman) и интернет-архивист и энтузиаст Джефф Спонагл (Jeff Sponaugle). Перед опубликованием исходного кода ОС энтузиасты получили все необходимые разрешения от правообладателя.
Самым интересным в этой версии MS-DOS являются некоторые зачатки многозадачности, которые, как утверждает Хайд, позднее легли в основу IBM OS/2. Одной из ключевых частей предполагаемого многозадачного рабочего процесса MS-DOS 4.00 является менеджер сеансов SM.EXE. Этот системный компонент позволяет переключаться с помощью горячих клавиш между шестью заранее заданными приложениями. Однако тесты Хайда выявили серьёзные ошибки в его работе. Более подробно о многозадачности в MS-DOS 4.00 и обо всех утилитах, поставляемых с этой версией, можно прочитать в блоге Хайда.
Ассемблерный код Intel 8086 MS-DOS 4.00, двоичные файлы, образы дисков и документация размещены на GitHub. Образы дисков находятся в каталоге v4.0-ozzie/bin. Энтузиасты, имеющие исправное старое оборудование, могут запустить ОС в исходном виде. Для запуска на современных ПК понадобится эмулятор, например, PCem или 86box с открытым исходным кодом. Кстати, в том же репозитории GitHub хранится исходный код MS-DOS 1.25 и 2.0.
Источник: