MS-DOS (англ. Microsoft Disk Operating System) — дисковая операционная система для компьютеров на базе архитектуры x86. MS-DOS самая известная ОС среди семейства DOS-совместимых операционных систем и самая используемая среди IBM PC-совместимых компьютеров на протяжении 80-х и до середины 90-х годов, пока её не вытеснили операционные системы с графическим пользовательским интерфейсом, в основном из семейства Microsoft Windows[1].
В 1981 году корпорация IBM разместила запрос на создание операционной системы, которая должна была использоваться в новом семействе компьютеров IBM PC. Microsoft выкупила права на операционную систему 86-DOS у Seattle Computer Products[2] и начала работу по её модификации под требования IBM. Впоследствии IBM лицензировала MS-DOS и выпустила её в августе 1981 года под наименованием PC DOS 1.0. В дальнейшем разработка MS-DOS и PC DOS велась Microsoft и IBM совместно вплоть до 1993 года, когда были выпущены два раздельных релиза — 6.0 от Microsoft и 6.1 от IBM.
За время существования MS-DOS вышло восемь основных релизов (1.00, 2.00 и т. д.) и два десятка промежуточных (3.10, 3.30 и т. п.), пока в 2000 году Microsoft не прекратила её разработку. Изначально MS-DOS ориентировалась на процессор Intel 8088, используемый в первом IBM PC, и работала только с дискетами, на которых располагались как сама ОС, так и программы и данные пользователей. Последующие версии обзавелись возможностью работы с различными типами накопителей, такими как жёсткий диск и CD-ROM, добавилась поддержка новых процессоров и компьютерных архитектур. Это был ключевой продукт фирмы, дававший ей существенный доход и маркетинговый ресурс, в ходе развития Microsoft превратилась из разработчика языка программирования в крупную компанию, производящую самое разнообразное программное обеспечение. MS-DOS так же стала базовым слоем для ранних версий Windows, запускавшихся как графический пользовательский интерфейс поверх командной строки. MS-DOS — гибкая операционная система и не требовательна к ресурсам ПК.
Последней коробочной версией стала 6.22, однако MS-DOS продолжала служить загрузчиком для Windows 95 (версии 7.0 и 7.1), Windows 98 (версия 7.1) и Windows ME (версия 8.0).
Музей компьютерной истории в Маунтин-Вью с разрешения компании Microsoft 26.03.2014 обнародовал исходный код операционной системы MS-DOS (версии 1.1 и 2.0), вышедшей в 1981 году, а также текстового редактора Word (1.1а) для Windows. Скачать код может любой желающий с сайта музея. Исходники распространяются под некоммерческой лицензией. Она в том числе означает, что их нельзя повторно выкладывать где-либо ещё в Интернете.
Строго говоря, для запуска MS-DOS наличие файла COMMAND.COM не является необходимым. Его можно заменить другим командным процессором, способным выполнять нужные команды. В своё время сторонними разработчиками было выпущено множество командных процессоров. Наиболее распространённый командный процессор, выпущенный сторонней фирмой, был NDOS.COM (лицензированный 4DOS (англ.)) из пакета Norton Utilities фирмы Symantec.
Помимо указанных файлов команда SYS.COM и FORMAT.COM с переключателем /S, начиная с версии 6.0, дополнительно переносят на системный диск файл DBLSPACE.BIN (6.0-6.2) или DRVSPACE.BIN (6.22), отвечающие за работу со сжатыми дисками в форматах Microsoft DoubleSpace или DriveSpace соответственно.
Файлы конфигурации:
Для задания конфигурации ОС используются конфигурационные файлы специального формата: CONFIG.SYS — конфигурирование системы и загрузка драйверов устройств на этапе инициализации MSDOS.SYS AUTOEXEC.BAT — стартовый пакетный файл. Выполняется при запуске командного процессора во время загрузки системы.
Также в дистрибутив входят следующие драйверы и программы: ANSI.SYS — расширенный драйвер консоли (экрана и клавиатуры). COUNTRY.SYS — файл с таблицами локализации, алфавитами сортировки. DISPLAY.SYS — драйвер дисплея; в частности, загружает локализованные шрифты. DBLSPACE.EXE — Microsoft DoubleSpace, дисковый компрессор (6.0 — 6.2). DEFRAG.EXE — Microsoft Defragmenter, дефрагментатор дисков. DOSSHELL.EXE — MS-DOS Shell, оболочка использующая «двухпанельный» принцип с псевдографическим интерфейсом. В MS-DOS 6.2 была убрана в дополнительный пакет MS-DOS Resource Kit. DRVSPACE.EXE — Microsoft DriveSpace, дисковый компрессор (6.22). HIMEM.SYS — драйвер дополнительной (extended memory) и HMA-памяти. HELP.COM — интерактивный справочник MS-DOS Help. EMM386.EXE — драйвер эмуляции расширенной памяти (expanded memory) и управления верхней (UMB) памятью. INTERLNK.EXE, INTERSVR.EXE — подсистема межкомпьютерной связи Interlnk. KEYB.COM — драйвер переключения языковых раскладок клавиатуры. KEYBOARD.SYS — файл с описаниями языковых раскладок клавиатуры, оформленный как драйвер. *.CPI — загружаемые шрифты кодовых страниц экрана и клавиатуры. MEMMAKER.EXE — Microsoft MemMaker, оптимизатор верхней памяти. MODE.COM — программа настройки ряда параметров экрана и портов ввода-вывода системы: последовательного, параллельного. MSAV.EXE — Microsoft Anti-Virus for MS-DOS, антивирус. MSD.EXE — Microsoft Diagnostics, информационная утилита, отображающая конфигурацию ПК. MSBACKUP.EXE — Microsoft Backup for MS-DOS, резервирование и восстановление информации. MWAV.EXE — Microsoft Anti-Virus for Windows, антивирус. MWBACKUP.EXE — Microsoft Backup for Windows, резервирование и восстановление информации. MWUNDEL.EXE — Microsoft Undelete for Windows, восстановление удалённых файлов. POWER.EXE — драйвер обеспечения управлением энергопотреблением. RAMDRIVE.SYS — драйвер электронного диска. SCANDISK.EXE — Microsoft Scandisk, сканер-корректор дисков. SMARTDRV.EXE — Microsoft SmartDrive, программа кэширования дисков. VSAFE.COM — VSafe, резидентный вирус-фильтр. UNDELETE.EXE — Microsoft Undelete for MS-DOS, восстановление удалённых файлов.
В связи с развитием архитектуры IBM PC/XT появилась расширенная, а затем в AT и дополнительная память, которую было возможно использовать в компонентах ОС и программах с помощью механизмов EMS, XMS, HMA, UMA/UMB, которые обеспечиваются BIOS расширенной памяти и драйверами DOS — менеджерами памяти от Microsоft (HIMEM и EMM386) или сторонними менеджерами (например, QEMM). Оболочки
Для MS-DOS, предоставляющей пользователю лишь интерфейс командной строки, был создан целый ряд так называемых оболочек, то есть программ, которые позволяют сделать работу с файлами более наглядной и удобной. Наиболее известные из них: Norton Commander — наиболее популярный в России коммерческий файловый менеджер. Все операции с файлами производятся на двух панелях при помощи горячих клавиш и, позднее, мыши и меню. Последние версии включают множество плагинов, значительно расширяющих функциональность. По образу Norton Commander позже было создано множество интерфейсов файловых менеджеров и других программ для различных операционных систем. Volkov Commander — клон Norton Commander. В отличие от Norton Commander, поддерживает длинные имена файлов (для версии 4.99 alpha). Очень компактен. Базовый комплект включает только сам файловый менеджер с минимальным, но достаточным набором функций, и занимает на диске около 64 Кбайт. Функциональность расширяется подключением других приложений. DOS Navigator — дальнейшее развитие идеи Norton Commander. Бо́льшая функциональность. Бо́льшее количество панелей. Поддержка текстовых режимов SVGA (132×25 — 132×60). Оконный интерфейс с многозадачностью для плагинов. Расширение за счёт лёгкого и удобного подключения плагинов и приложений сторонних разработчиков.
Разработчики приложений под MS-DOS часто использовали недокументированные возможности и функции, а также прямое обращение к аппаратным средствам в обход операционной системы. Это стало причиной того, что в операционных системах Windows 9x и более новых не всегда удаётся запустить приложение, написанное для MS-DOS.
Ещё одна проблема, с которой сталкиваются пользователи при работе с приложениями MS-DOS на современных компьютерах, — значительная разница в быстродействии. За последние годы быстродействие компьютеров значительно возросло. Поэтому многие игры для MS-DOS на современном компьютере работают слишком быстро, так что пользователь не успевает увидеть происходящее на экране и проанализировать игровую ситуацию. Причина этому — использование циклов для формирования задержек. Современные процессоры выполняют их слишком быстро, а часто и вообще игнорируют (работа интеллектуального оптимизатора). По этой же причине некоторые приложения прекращают работу, выводя ошибку деления на ноль.
Для решения вышеназванных и целого ряда других проблем работы с приложениями MS-DOS под управлением Windows NT и Unix-подобных ОС применяются специальные эмуляторы. На данный момент наиболее известный из них — DOSBox, позволяющий настраивать индивидуальные параметры запуска каждого MS-DOS-приложения: быстродействие эмулируемого компьютера, эмулируемая звуковая и видеокарта и т. п.