MS-DOS является переименованной версией 86-DOS[8], написанной Тимом Патерсоном из Seattle Computer Products[8]. Разработка 86-DOS заняла всего шесть недель и представляла собой клон CP/M от Digital Research, портированный для использования на процессоре 8086 и содержащий всего два отличия от оригинала: улучшенную логику буферизации дисковых секторов и новую файловую систему FAT12. Первая версия 86-DOS вышла в августе 1980 года[9]. Согласно подписанному в ноябре 1980 года договору с IBM, Microsoft требовалось предоставить операционную систему для нового компьютера IBM PC, основанного на Intel 8086. Для этого Microsoft в мае 1981 года наняла Тима Патерсона для завершения адаптации 86-DOS к прототипу IBM PC, а затем в июле того же года полностью выкупила права на 86-DOS 1.10 за $75 тыс.[8]. Microsoft сохранила нумерацию версий, но переименовала ОС в MS-DOS. В августе 1981 года лицензированная корпорацией IBM MS-DOS 1.10/1.14 под наименованием PC DOS 1.0 начала поставляться с новыми персональными компьютерами IBM PC[9]. Причину, почему Microsoft была вынуждена купить стороннюю разработку, а не писать заново, пояснил сам Билл Гейтс: его компания не имела возможности успеть с написанием операционной системы в срок. В результате авральной работы им удалось переработать 8-битную QDOS (позднее названную 86-DOS) для микропроцессоров 8088/8086 и заключить договор с IBM о реализации продукта[10].
В версии 2.0, приуроченной к выпуску IBM PC XT с жёстким диском, MS-DOS кардинально расширила функциональность ОС, отчасти адаптировав недостающее из Unix (например подкаталоги, работа с файлами через дескрипторы, перенаправление ввода/вывода, обращение к устройствам по именам, и тому подобное). Масштаб внесённых изменений подчёркивает и тот факт, что больша́я часть поздних программ, в том числе для последних версий MS-DOS, имеет в требованиях строчку «DOS 2.0 или выше».
Первоначально MS-DOS разрабатывалась как операционная система, способная работать на любых компьютерах с процессором 8086. Microsoft повторяла модель распространения CP/M, когда для каждого компьютера с различным аппаратным обеспечением использовалась своя версия MS-DOS. Для этого ОС имела модульную структуру с минимальным набором драйверов для дисковых накопителей и консоли, интегрированных в ядро, и устанавливаемых драйверов других устройств, загружаемых и доступных во время загрузки. OEM-производители использовали комплект разработчика, предоставляемый Microsoft, для создания собственной версии MS-DOS со стандартным ядром, но с драйверами устройств ввода/вывода, характерными для их оборудования. Производителями такая версия обычно поставлялась на дискетах вместе с компьютерами. Таким образом, существовало множество версий MS-DOS для различных архитектур, и следует отличать IBM PC-совместимые и MS-DOS-совместимые компьютеры. Некоторые компьютеры, например Tandy 2000, могли выполнять программное обеспечение, написанное только для MS-DOS, но не такое, где бы использовались особенности архитектуры IBM PC.
Конструкция операционной системы предполагает хорошую совместимость, если программы для своей работы используют только стандартные вызовы MS-DOS. Подобная философия в дальнейшем была реализована в Windows NT (см. Слой аппаратных абстракций). Тем не менее в MS-DOS большая скорость работы программ достигается только через прямой доступ к аппаратному обеспечению (память видеоадаптера, чтение и запись портов), что было особенно характерно для игр того времени, требующих значительных ресурсов компьютера. Доминирование IBM PC-совместимой архитектуры привело к распространению многочисленных клонов, и необходимость в отдельных аппаратно-зависимых версиях операционной системы отпала. Важной частью совместимости являлось сохранение неизменными функций ROM BIOS, используемых множеством выпущенных программ, обходивших медленные системные вызовы MS-DOS.
Впоследствии зависимость от архитектуры IBM вызвала ряд серьёзных проблем в индустрии при смене оригинального дизайна IBM PC. Так, первоначально не предполагалось использовать более 640 Кбайт оперативной памяти (барьер 640 КБайт), поскольку более высокие области ОЗУ были зарезервированы для периферийных устройств и ПЗУ. Производителям пришлось изобретать различные схемы обхода данного препятствия (EMS, XMS и т. п.) для доступа к дополнительной памяти. Если бы первоначальная идея с независимостью от аппаратного обеспечения была продолжена, то подобной проблемы удалось бы избежать. Таким образом, MS-DOS — это операционная система, работающая в реальном режиме процессора с архитектурой x86, в котором способна адресовать не более 1 МБайт ОЗУ.
Для компьютеров, произведённых IBM, устанавливалась версия под названием PC DOS. Для сторонних производителей Microsoft предлагала версию DOS уже под именем MS-DOS. Благодаря сотрудничеству IBM и Microsoft, вплоть до версии 5.0 системы PC DOS и MS-DOS практически не отличались. Первой коробочной версией MS-DOS стала 5.0 в варианте Upgrade, до этого все релизы распространялись только как OEM-продукт компаниями-производителями персональных компьютеров[источник не указан 1669 дней].
История версий
Версия |
Дата |
ФС/
Размер тома |
Описание |
QDOS 0.10 |
июль 1980 |
FAT12 |
Первая версия, выпущенная в продажу Seattle Computer Products. |
86-DOS 0.3 |
декабрь 1980 |
FAT12 |
Первая версия, которую Microsoft лицензировала у Seattle Computer Products. |
86-DOS 1.0 |
апрель 1981 |
FAT12 |
Первый релиз 86-DOS. |
86-DOS 1.10[11] |
июль 1981 |
FAT12 |
Куплена Microsoft и переименована в MS-DOS 27 июля 1981 года[12]. Появилась в связи с выходом IBM PC. Полностью аналогична PC DOS 1.0. Поддержка только односторонних 5,25-дюймовых 8-секторных 160-КБайт НГМД. COMMAND.COM реализует следующие внутренние команды: COPY, DIR, ERASE, PAUSE, REM, RENAME, TYPE. Внешние команды: CHKDSK, DATE, DEBUG, DISKCOMP, DISKCOPY, EDLIN, FORMAT, LINK, MODE, SYS, TIME, BASIC. В атрибуты файлов записывается только дата последнего изменения. |
1.10-1.14 |
июль — октябрь 1981 |
FAT12 |
Предлагается как один из трёх возможных вариантов для IBM PC DOS 1.0[13]. |
1.24 |
март 1982 |
FAT12 |
Добавлена поддержка двухсторонних дисководов 5,25 дюйма 320 КБайт. FAT12. В атрибуты файлов помимо даты последней записи добавлено её время. Команда COPY теперь поддерживает объединение файлов. Новые внутренние команды: DATE, DEL, REN, TIME. Новая внешняя команда EXE2BIN. Основа для IBM PC DOS 1.1. MS-DOS будет основой для IBM PC DOS вплоть до версии 6.22 включительно. |
1.25 |
июнь 1982 |
FAT12 |
Для использования с компьютерами, не произведёнными IBM. Аналогична PC DOS 1.1. Вместо BASICA от IBM поставляется GW-BASIC. |
2.0 |
март 1983 |
FAT12
15 МБайт[14] |
Появилась в связи с выходом IBM PC XT. Впервые появилась поддержка жёстких дисков, максимальный объём 15 МБайт, один раздел — один диск. Добавлена поддержка жёстких дисков объёмом 10 МБайт компании IBM. Поддержка 5,25-дюймовых 9-секторных односторонних по 180-Кбайт и двусторонних по 360-КБайт НГМД. Реализована поддержка метки тома. Добавлена поддержка каталогов — ранее все файлы располагались только в корне диска. Введены операции с файлами, основанные на дескрипторах файлов — ранее работа с файлами шла только при помощи FCB (File Control Block — блок управления файлом). Введено перенаправление консольного ввода-вывода. Добавлены новые команды: FC (только MS-DOS), BACKUP, RESTORE, TREE, CD, MD, RD, PATH и др. Для пакетных (*.bat) файлов добавлены команды: GOTO, IF, ECHO и др. Реализована поддержка подключения внешних драйверов устройств. Поддержка фоновой печати по команде PRINT. Включена поддержка видеоподсистемы CGA. |
2.01 |
октябрь 1983 |
FAT12
15 МБайт |
Добавлена команда COUNTRY для отображения индивидуального формата даты и времени, а также значка валюты. |
2.10 |
ноябрь 1983 |
FAT12
15 МБайт |
Версия для IBM (PC DOS 2.10). Появилась в связи с выходом IBM PCjr. Основана на 2.0 с модификациями для PCjr. |
2.11 |
март 1984 |
FAT12
15 МБайт |
Версия для компьютеров, не произведённых IBM. Основана на версии 2.1 с модификациями от 2.01. Осуществлён перевод на 10 различных языков. |
3.00 |
август 1984 |
FAT16
32 МБайт |
Появилась в связи с выходом IBM PC/AT, которая оснащалась жестким диском в 20 МБайт. Появление возможности выполнять программы, находящиеся не в текущем каталоге, за счёт указания маршрута. Добавлена поддержка 15-секторных 5,25" дисководов на 1,2 МБайт. Добавлены новые команды: ATTRIB, LABEL, SELECT, KEYB, SHARE, GRAFTABL, COUNTRY. Поддержка виртуального диска в ОЗУ. |
3.10 |
ноябрь 1984 |
FAT16
32 МБайт |
Добавлена поддержка работы в сетях Microsoft. Добавлены команды JOIN и SUBST. |
3.20 |
январь 1986 |
FAT16
32 Мбайт |
Появилась в связи с выходом IBM PC Convertible. Добавлена поддержка дисководов 3,5 дюйма 720 КБайт. Добавлены новые команды REPLACE и XCOPY. Команда FORMAT теперь препятствует непреднамеренному форматированию жёсткого диска. Добавлен DRIVER.SYS для создания фиктивных дисководов. Добавлен драйвер RAMDRIVE.SYS для создания виртуального диска в ОЗУ. |
3.30 |
август 1987 |
FAT16
32 МБайт |
Появилась в связи с выходом IBM PS/2. Поддерживает концепцию разбиения жёстких дисков любого объёма на логические диски размером до 32 МБайт. На одном жёстком диске может быть только два раздела — MS-DOS и EXT DOS, самих жёстких дисков — не более двух. Внутри EXT DOS может быть до 23 подразделов (от D до Z).[14] Без внешних программ объём жёсткого диска не может быть больше 32 МБайт. С прерыванием INT 13H[15], которое было добавлено в BIOS только в 1994 году, максимальный объём HDD составлял 24х32=768 МБайт. Добавлена поддержка дисководов 3,5 дюйма HD (High Density) 1,44 МБайт. Введена поддержка кодовых страниц (национальные наборы символов и таблицы сортировки). Имеет несколько выявленных ошибок (например, FORMAT может забраковать хороший диск). Добавлена поддержка команд: APPEND, CALL, CHCP, FASTOPEN, NLSFUNC. |
3.31 |
ноябрь 1987 |
FAT16B 512 МБайт |
Модифицированная компанией Compaq версия MS-DOS 3.30, которая впервые ввела поддержку 32-битного логического сектора чисел.[16] |
4.0 прототип[en] |
1985 |
|
Экспериментальная, в массовую продажу не пошла[17]. Обладала вытесняющей многозадачностью в реальном режиме, предназначенной для семейства процессоров 8086 (впоследствии эта возможность удалена). Включала перемещаемые и выгружаемые сегменты памяти для кода и перемещаемые сегменты данных (менеджер памяти Windows был версией менеджера памяти DOS 4). Имела возможность динамического переключения экранов. |
4.0 |
июль 1988 |
FAT16B
2 ГБайт[14] |
Поддерживает логические диски на жёстком диске размером более 32 МБайт. Максимальный объём жёсткого диска не может быть больше 528 МБайт без сторонних программ (528-МБайт барьер (504 МБайт в старых BIOS)).[15] Прерывание INT 13H позволило увеличить объём жёсткого диска до 7,844 ГБайт (барьер, связанный с ошибкой в MS-DOS, который был до версии 7.1[18][19]).[20] Использует отображаемую память для буферов ОС и структур данных команды FASTOPEN (требуется EMS 4.0). Позволяет задействовать для размещения резидентных программ первые 64 КБайт расширенной памяти (HMA-память). Обеспечивает расширенную поддержку национальных языков. Отличается значительным числом ошибок. Добавлена новая команда MEM. Полная поддержка EGA и VGA. |
4.01 |
декабрь 1988 |
FAT16B
2 ГБайт |
Исправлены основные ошибки версии 4.0. Включает графическую оболочку MS-DOS Shell. Первая официально локализованная версия для России[21] |
5.0 |
июнь 1991 |
FAT16B
2 ГБайт |
Введена поддержка до восьми физических жёстких дисков, возможно создавать до 4-х основных разделов (сторонние программы), а следовательно можно установить до 4-х ОС на один HDD.[14] Обеспечивает размещение своего ядра, а также драйверов и резидентных программ как в HMA, так и в UMB. Добавлена поддержка дисководов 3,5 дюйма EHD 2,88 МБайт. Новый менеджер памяти. Добавлены новые команды: DELOLDOS, DOSKEY, EXPAND, LOADHIGH, MIRROR, SETVER, UNDELETE, UNFORMAT. Добавлены полноэкранный текстовый редактор Edit, полноэкранная среда программирования QBASIC, интерактивная справка Help. Часть новых утилит (MIRROR, UNDELETE и UNFORMAT) лицензирована у фирмы Central Point Software. MS-DOS 5.00 поставлялась на шести дискетах 360 КБайт или двух дискетах 1,2 МБайт. Выпускалась русская версия с переведённым интерфейсом, сообщениями и справочными материалами. Последняя версия, полностью идентичная PC DOS 5.0, за исключением наименования файлов и лицензионных соглашений. |
6.0 |
март 1993 |
FAT16B
2 ГБайт |
Добавлены новые команды: DELTREE и MOVE. Исключены команды: RECOVER, ASSIGN, GRAFTABL, JOIN, MIRROR, COMP, BACKUP, EXE2BIN, драйвер PRINTER.SYS. Усовершенствованы команды: DIR, MEM, UNDELETE, FORMAT, SYS. Новая команда CHOICE обеспечивает разветвление в командных файлах. Появилась возможность отмены выполнения отдельных команд в CONFIG.SYS и AUTOEXEC.BAT целиком. Организация ветвлений в CONFIG.SYS. SMARTDRV обеспечивает кэширование при записи. Добавлена поддержка CD-ROM. Новая утилита управления энергопотреблением POWER. Добавлены дополнительные программные средства: Microsoft MemMaker (оптимизация использования верхней памяти), Microsoft DoubleSpace (сжатие данных на дисках), Microsoft Defragmenter (дефрагментация дисков, лицензирована у Symantec), Microsoft Backup (в версиях для MS-DOS и Windows), Microsoft Anti-Virus (в версиях для MS-DOS и Windows, лицензировано у Central Point Software), информационная утилита Microsoft Diagnostics, система связи Interlink, утилита Microsoft Undelete for Windows. |
6.2 |
ноябрь 1993 |
FAT16B
2 ГБайт |
Усовершенствованы команды: FORMAT (по умолчанию не тестируются секторы в сбойных кластерах), DISKCOPY (возможность создания образа на НЖМД), COMMAND (появилась возможность построчной обработки командных файлов). Команды FORMAT, CHKDSK, DIR, MEM выводят информацию с разделением тысяч. SMARTDRV теперь кэширует CD-ROM. Драйвер HIMEM.SYS теперь при подключении способен тестировать расширенную память. Модернизация Microsoft DoubleSpace. Добавлена утилита тестирования жёсткого диска ScanDisk. Исключена из поставки программа MS-DOS Shell. |
6.21 |
февраль 1994 |
FAT16B
2 ГБайт |
После судебного процесса по иску компании Stac Electronics по поводу того, что Microsoft использовала в DoubleSpace код, запатентованный Stac, DoubleSpace был убран из системы. Изменению подверглись и все компоненты, поддерживающие сжатие данных — ScanDisk и Microsoft Backup. Теперь ScanDisk не мог запускаться на сжатых томах и обслуживать их, а Backup не поддерживал как сжатие при архивации, так и восстановление таких архивов, созданных в версиях 6.0 и 6.2. |
6.22 |
июнь 1994 |
FAT16B
2 ГБайт |
Добавлен новый компрессор DriveSpace. Он использует несовместимый с DoubleSpace формат хранения данных. При желании файл может быть преобразован в новый формат. Microsoft Backup использует новую технологию сжатия, использованную в DriveSpace. В нелокализованную версию добавлена кодовая страница 866 (с помощью файлов EGA3.CPI и KEYBRD2.SYS), поддерживающая работу с символами кириллицы, в том числе в именах файлов, а также представления даты и времени, ориентированные на Россию, Украину и Беларусь. |
7.0 |
август 1995 |
FAT16B
2 ГБайт |
Как часть Windows 95. Добавлена поддержка LFN — длинных имён файлов (доступна только под Windows). Весь код из MSDOS.SYS перенесён в IO.SYS. MSDOS.SYS теперь представляет собой текстовый файл настроек. Новые команды в CONFIG.SYS: ACCDATE, BUFFERSHIGH, FCBSHIGH, FILESHIGH, LASTDRIVEHIGH, STACKSHIGH. В поставку включён драйвер CD-ROM: OAKCDROM.SYS |
7.1 |
август 1996 |
FAT32
137 ГБайт[22] |
Как часть Windows 95 OSR2 и Windows 98 и SE. Утилита fdisk может создать тома размером не более ~ 63,5 ГБайт, но если использовать SeaTools, то это ограничение можно обойти.[23][20] Максимальный объём диска, как и у всех ОС начиная с Windows 95 OSR2 до Windows Vista, составляет 2 ТБайт[24][25]. |
8.0 |
сентябрь 2000 |
FAT32
137 ГБайт[22] |
Как часть Windows Me. Ухудшена функциональность ядра, жёстко интегрирован неотключаемый драйвер верхней памяти. Заблокирована возможность загрузки в реальном режиме с жёсткого диска, удалено большинство утилит. Также находится на аварийной загрузочной дискете, создаваемой Windows XP и новее. |
|