MS-DOS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
MS-DOS
MS-DOS icon.png
MS-DOS 7.1.png
MS-DOS 7.1
Разработчик

Microsoft

Семейство ОС

DOS

Исходный код

Закрытый исходный код

Первый выпуск

Август 1981

Последняя версия

8.0 — 14 сентября 2000
(в составе Windows Me)

Поддерживаемые языки

Многоязычный

Поддерживаемые платформы

x86

Тип ядра

Монолитное ядро

Интерфейс

Командная строка

Лицензия

Проприетарная

Состояние

Историческое

Веб-сайт

MS-DOS overview

Commons-logo.svg MS-DOS на Викискладе

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).

История[править | править вики-текст]

Дискеты установки MS-DOS 5.0

MS-DOS является переименованной версией 86-DOS[3], написанной Тимом Патерсоном из Seattle Computer Products[3]. Разработка 86-DOS заняла всего шесть недель и представляла собой клон CP/M от Digital Research, портированный для использования на процессоре 8086 и содержащий всего два отличия от оригинала: улучшенную логику буферизации дисковых секторов и новую файловую систему FAT12. Первая версия 86-DOS вышла в августе 1980 года[4]. Согласно подписанному в ноябре 1980 года договору с IBM, Microsoft требовалось предоставить операционную систему для нового компьютера IBM PC, основанного на Intel 8086. Для этого Microsoft в мае 1981 года наняла Тима Патерсона для завершения адаптации 86-DOS к прототипу IBM PC, а затем в июле того же года полностью выкупила права на 86-DOS 1.10 за $75 тыс.[3]. Microsoft сохранила нумерацию версий, но переименовала ОС в MS-DOS. В августе 1981 года лицензированная корпорацией IBM MS-DOS 1.10/1.14 под наименованием PC DOS 1.0 начала поставляться с новыми персональными компьютерами IBM PC[4].

Первоначально 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-совместимой архитектуры привела к распространению многочисленных клонов и необходимость в отдельных аппаратно-зависимых версиях операционной системы отпала.

Впоследствии зависимость от архитектуры IBM вызвала ряд серьёзных проблем в индустрии при смене оригинального дизайна IBM PC. Так первоначально не предполагалось использовать более 640 Кбайт оперативной памяти (барьер 640 Кбайт), так как области ОЗУ выше были зарезервированы для периферийных устройств и ROM. Производителям пришлось изобретать различные схемы обхода данного препятствия (EMS, XMS и т. п.) для доступа к дополнительной памяти. Если бы первоначальная идея с независимостью от аппаратного обеспечения была продолжена, то подобной проблемы удалось бы избежать. Таким образом, MS-DOS — это операционная система, работающая в реальном режиме процессора с архитектурой x86, в котором способна адресовать не более 1 Мб ОЗУ. Так же стоит заметить, что Microsoft изначально описывала MS-DOS как «операционную систему для компьютеров на базе Intel 8086».

Для компьютеров, произведённых IBM, устанавливалась версия под названием PC DOS. Для сторонних производителей Microsoft предлагала версию DOS уже под именем MS-DOS. Благодаря сотрудничеству IBM и Microsoft, вплоть до версии 5.0 PC DOS и MS-DOS практически не отличались. Первой коробочной версией MS-DOS стала 5.0 в варианте Upgrade, до этого все релизы распространялись только как OEM-продукт компаниями-производителями персональных компьютеров.

25 марта 2014 года корпорация Microsoft опубликовала исходный код версий 1.25 и 2.0[5].

История версий[править | править вики-текст]

Версия Дата Описание
1.10
1.11
1.14
август 1981 Основа для IBM PC DOS 1.0. Появилась в связи с выходом IBM PC. Поддержка только односторонних 5,25" 8-ми секторных 160 Кбайт НГМД.
1.24 март 1982 Основа для IBM PC DOS 1.1. Добавлена поддержка двухсторонних дисководов 5,25" 320 Кбайт. FAT12.
1.25 июнь 1982 Для использования с компьютерами, не произведёнными IBM. Добавлена поддержка двухсторонних дисководов 5,25" 320 Кбайт. FAT12.
2.0 март 1983 Появилась в связи с выходом IBM PC XT. Добавлена поддержка жёстких дисков до 10 Мбайт. Поддержка 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 Добавлена команда COUNTRY для отображения индивидуального формата даты и времени, а также значка валюты.
2.10 ноябрь 1983 Версия для IBM. Появилась в связи с выходом IBM PCjr. Основана на 2.0 с модификациями для PCjr.
2.11 март 1984 Версия для компьютеров, не произведённых IBM. Основана на 2.0 с модификациями от 2.01. Осуществлён перевод на 10 различных языков.
3.00 август 1984 Появилась в связи с выходом IBM PC/AT. Появление возможности выполнять программы, находящиеся не в текущем каталоге, за счёт указания маршрута. Поддержка жёстких дисков до 20 Мбайт. Введено разделение жёсткого диска на загрузочный диск и один логический диск в дополнительном разделе. Добавлена поддержка 15-ти секторных 5,25" дисководов на 1,2 Мбайт. Добавлены новые команды: ATTRIB, LABEL, SELECT, KEYB, SHARE, GRAFTABL, COUNTRY. Поддержка виртуального диска в ОЗУ.
3.10 ноябрь 1984 Добавлена поддержка работы в сетях Microsoft. Добавлены команды JOIN и SUBST.
3.20 январь 1986 Появилась в связи с выходом IBM PC Convertible. Добавлена поддержка дисководов 3,5" 720 Кбайт. Добавлены новые команды REPLACE и XCOPY. Команда FORMAT теперь препятствует непреднамеренному форматированию жёсткого диска. Добавлен DRIVER.SYS для создания фиктивных дисководов.
3.30 август 1987 Появилась в связи с выходом IBM PS/2. Поддерживает концепцию разбиения жёстких дисков любого объёма на логические диски размером до 32 Мбайт. Добавлена поддержка дисководов 3,5" HD (High Density) 1,44 Мбайт. Введена поддержка кодовых страниц (национальные наборы символов и таблицы сортировки). Имеет несколько выявленных ошибок (например, FORMAT может забраковать хороший диск). Добавлена поддержка команд: APPEND, CALL, CHCP, FASTOPEN, NLSFUNC.
4.0 прототип июнь 1988 Экспериментальная, в массовую продажу не пошла[6]. Обладала вытесняющей многозадачностью в реальном режиме, предназначенной для семейства процессоров 8086 (впоследствии эта возможность удалена). Включала перемещаемые и выгружаемые сегменты памяти для кода и перемещаемые сегменты данных (менеджер памяти Windows был версией менеджера памяти DOS 4). Имела возможность динамического переключения экранов.
4.0 июль 1988 Поддерживает логические диски на винчестере размером более 32 Мбайт (до 2 Гб). Добавлена файловая система FAT16. Использует отображаемую память для буферов ОС и структур данных команды FASTOPEN (требуется EMS 4.0). Позволяет задействовать для размещения резидентных программ первые 64 Кбайт расширенной памяти (HMA-память). Обеспечивает расширенную поддержку национальных языков. Отличается значительным числом ошибок. Добавлена новая команда MEM. Полная поддержка EGA и VGA.
4.01 декабрь 1988 Исправлены основные ошибки версии 4.0. Включает графическую оболочку MS-DOS Shell. Первая русифицированная версия.
5.0 июнь 1991 Обеспечивает размещение своего ядра, а так же драйверов и резидентных программ как в 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 Мбайт. Выпускалась русская версия с переведённым интерфейсом, сообщениями и справочными материалами.
6.0 март 1993 Добавлены новые команды: 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 Усовершенствованы команды: FORMAT (по умолчанию не тестируются секторы в сбойных кластерах), DISKCOPY (возможность создания образа на НЖМД), COMMAND (появилась возможность построчной обработки командных файлов). Команды FORMAT, CHKDSK, DIR, MEM выводят информацию с разделением тысяч. SMARTDRV теперь кэширует CD-ROM. HIMEM.SYS теперь при подключении способен тестировать расширенную память. Модернизация Microsoft DoubleSpace. Добавлена утилита тестирования жёсткого диска ScanDisk. Исключение из поставки MS-DOS Shell.
6.21 февраль 1994 После громкого судебного процесса по иску компании Stac Electronics по поводу того, что Microsoft использовала в DoubleSpace код, запатентованный Stac, DoubleSpace был убран из системы.
6.22 июнь 1994 Добавлен новый компрессор DriveSpace. Он использует несовместимый с DoubleSpace формат хранения данных. При желании файл может быть конвертирован в новый формат. Microsoft Backup использует новую технологию сжатия, использованную в DriveSpace. В нелокализованную версию добавлена кодовая страница 866 (с помощью файлов EGA3.CPI и KEYBRD2.SYS), поддерживающая работу с символами кириллицы, в том числе в именах файлов, а также представления даты и времени, ориентированные на Россию, Украину и Беларусь.
7.0 август 1995 Как часть Windows 95 и OSR. Добавлена поддержка LFN — длинных имён файлов (доступна только под Windows). Весь код из MSDOS.SYS перенесён в IO.SYS. MSDOS.SYS теперь текстовый файл настроек.
7.1 август 1996 Как часть Windows 95 OSR2 и Windows 98 и SE. Добавлены FAT32 и поддержка винчестеров до 127 Гбайт.
8.0 сентябрь 2000 Как часть Windows ME. Ухудшена функциональность ядра, жёстко интегрирован неотключаемый драйвер верхней памяти. Заблокирована возможность загрузки в реальном режиме с жёсткого диска, удалено большинство утилит. Также находится на загрузочной дискете, создаваемой Windows XP и старше.

Дистрибутив MS-DOS[править | править вики-текст]

Минимальный набор файлов MS-DOS:

  • файлы ядра:
  1. IO.SYS — расширение BIOS;
  2. MSDOS.SYS — обработка прерываний;
  • командный процессор:
  1. COMMAND.COM — командный процессор (поддержка интерфейса командной строки).

Строго говоря, для запуска 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, восстановление удалённых файлов.

Надстройки и расширения сторонних производителей[править | править вики-текст]

Многозадачность
Сетевые клиенты и серверы
Соединения компьютер-компьютер
  • Laplink
  • Norton Link
Расширение памяти

В связи с развитием архитектуры 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 под MS Windows[править | править вики-текст]

Разработчики приложений под MS-DOS часто использовали недокументированные возможности и функции, а также прямое обращение к аппаратным средствам в обход операционной системы. Это стало причиной того, что в операционных системах Windows 9x и более новых не всегда удаётся запустить приложение, написанное для MS-DOS.

Ещё одна проблема, с которой сталкиваются пользователи при работе с приложениями MS-DOS на современных компьютерах, — значительная разница в быстродействии. За последние годы быстродействие компьютеров значительно возросло. Поэтому многие игры для MS-DOS на современном компьютере работают слишком быстро, так что пользователь не успевает увидеть происходящее на экране и проанализировать игровую ситуацию. Причина этому — использование циклов для формирования задержек. Современные процессоры выполняют их слишком быстро, а часто и вообще игнорируют (работа интеллектуального оптимизатора). По этой же причине некоторые приложения прекращают работу, выводя ошибку деления на ноль.

Для решения вышеназванных и целого ряда других проблем работы с приложениями MS-DOS под управлением Windows NT и Unix-подобных ОС применяются специальные эмуляторы. На данный момент наиболее известный из них — DOSBox, позволяющий настраивать индивидуальные параметры запуска каждого MS-DOS-приложения: быстродействие эмулируемого компьютера, эмулируемая звуковая и видеокарта и т. п.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]