MS-DOS

MS-DOS (англ. MicroSoft Disk Operating System) — операционная система для компьютеров на базе архитектуры x86. MS-DOS положила начало семейству DOS-совместимых операционных систем и была самой популярной операционной системой для IBM PC-совместимых компьютеров с 1980-х до середины 1990-х годов, пока её не вытеснили операционные системы с графическим пользовательским интерфейсом, в основном из семейства Microsoft Windows.
Описание
В 1981 году корпорация IBM разместила запрос на создание операционной системы, которая должна была использоваться в новом семействе компьютеров IBM PC. Microsoft выкупила права на операционную систему 86-DOS у Seattle Computer Products и начала работу по её модификации под требования 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, запускавшихся как графический пользовательский интерфейс поверх командной строки.
Последней коробочной версией стала 6.22, однако MS-DOS продолжала служить загрузчиком для Windows 95 (версии 7.0 и 7.1), Windows 98 (версия 7.1) и Windows Me (версия 8.0).
25 марта 2014 года музей компьютерной истории в Маунтин-Вью с разрешения компании Microsoft обнародовал исходный код операционной системы MS-DOS (версии 1.1 и 2.0), вышедшей в 1981 году, а также текстового редактора Word (1.1а) для Windows. В 2018 году был опубликован исходный код ОС MS-DOS версий 1.25 и 2.0 под свободной лицензией MIT.
История MS-DOS
MS-DOS является переименованной версией 86-DOS, написанной Тимом Патерсоном из Seattle Computer Products. Разработка 86-DOS заняла всего шесть недель и представляла собой клон CP/M от Digital Research, портированный для использования на процессоре 8086 и содержащий всего два отличия от оригинала: улучшенную логику буферизации дисковых секторов и новую файловую систему FAT12. Первая версия 86-DOS вышла в августе 1980 года. Согласно подписанному в ноябре 1980 года договору с IBM, Microsoft требовалось предоставить операционную систему для нового компьютера IBM PC, основанного на Intel 8086. Для этого Microsoft в мае 1981 года наняла Тима Патерсона для завершения адаптации 86-DOS к прототипу IBM PC, а затем в июле того же года полностью выкупила права на 86-DOS 1.10 за $75 тыс.. Microsoft сохранила нумерацию версий, но переименовала ОС в MS-DOS. В августе 1981 года лицензированная корпорацией IBM MS-DOS 1.10/1.14 под наименованием PC DOS 1.0 начала поставляться с новыми персональными компьютерами IBM PC.
В версии 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-совместимой архитектуры привело к распространению многочисленных клонов, и необходимость в отдельных аппаратно-зависимых версиях операционной системы отпала.
Впоследствии зависимость от архитектуры 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-продукт компаниями-производителями персональных компьютеров.
История версий
Дистрибутив MS-DOS
Минимальный набор файлов MS-DOS:
- файлы ядра:
- IO.SYS — расширение BIOS;
- MSDOS.SYS — обработка прерываний (в версиях 7.0, 7.01 и 8.0 интегрирован в IO.SYS) ;
- командный процессор:
- 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) и 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, восстановление удалённых файлов.
- QBASIC.EXE — Язык программирования от Microsoft для написание программ.
Надстройки и расширения сторонних производителей
Многозадачность
- DESQVIEW
- DV/X
Сетевые клиенты и серверы
- Lantastic
- Personal Netware
Соединения компьютер-компьютер
- Laplink
- Norton Link
Расширение памяти В связи с развитием архитектуры IBM PC/XT появилась расширенная, а затем в AT и дополнительная память, которую было возможно использовать в компонентах ОС и программах с помощью механизмов EMS, XMS, HMA, UMA/UMB, которые обеспечиваются BIOS расширенной памяти и драйверами DOS — менеджерами памяти от Microsoft (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-приложения: быстродействие эмулируемого компьютера, эмулируемая звуковая и видеокарта и т. п. Иногда используются замедлители процессора.
Также существует улучшенная версия DOSBox-X, которая позволяет сэмулировать огромный перечень оборудования и DOS систем, а также имеет доступ к сети.
Помимо эмулятора DOSBox, существует эмулятор VDOS, который основан на эмуляторе DOSBox, но, в отличие от этого эмулятора, имеет полный доступ к сети и оборудованию.
Также можно установить на компьютеры с Windows, программу MS-DOS 6.22 FOR WINDOWS, которая позволяет запускать MS-DOS 6.22 на современном компьютере с микро программой BIOS.
Ещё в природе существует расширение для ntvdm, «Tame-dos», которое улучшает совместимость windows с dos программами.
Клоны MS-DOS
DR-DOS
DR-DOS (она же Novell DOS и OpenDOS) — совместимая с MS-DOS дисковая операционная система, разработанная компанией Digital Research и унаследовавшая многие черты своей предшественницы — операционной системы CP/M.
PC-DOS
IBM PC DOS (IBM Personal Computer Disk Operating System) — дисковая операционная система для персональных компьютеров фирмы IBM. PC DOS была создана на основе операционной системы 86-DOS от Seattle Computer Products.
FREE-DOS
FreeDOS — свободная операционная система, совместимая с MS-DOS. FreeDOS распространяется на условиях GNU General Public License, включает несколько программ под другими свободными и проприетарными лицензиями. Проект был начат в 1994 году программистом Джимом Холлом (Jim Hall) как PD-DOS, но вскоре название было изменено на FreeDOS. Версия FreeDOS 1.0 вышла в свет 3 сентября 2006 года.
Novell DOS
В том же 1991 году, компания Digital Research была куплена компанией Novell, которая переименовала DR-DOS в Novell DOS, и в свет вышла версия Novell DOS 6.0, а следом Novell DOS 7.0.