Microsoft раскрыла код MS-DOS 4.00, в которой впервые появились мышь и графический интерфейс
Любой желающий теперь имеет возможность ознакомиться с устройством классической операционной системы MS-DOS 4.00 или даже построить на его основе собственный проект. Корпорация Microsoft выложила исходный код не самой популярной, но содержащей некоторые любопытные новшества ОС на GitHub. Ранее были опубликованы исходники MS-DOS 1.25 и 2.0.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 сегодня можно найти файлы, связанные не только с «классической» четвертой версией ОС, но и с бета-версией ее многозадачного варианта, в том числе образцы документации и бинарники.