MS-DOS (англ. MicroSoft Disk Operating System) — операционная система для компьютеров на базе архитектуры x86. MS-DOS положила начало семейству DOS-совместимых операционных систем и была самой популярной операционной системой для IBM PC-совместимых компьютеров с 1980-х до середины 1990-х годов, пока её не вытеснили операционные системы с графическим пользовательским интерфейсом, в основном из семейства Microsoft Windows[3].
ОписаниеПравить
В 1981 году корпорация IBM разместила запрос на создание операционной системы, которая должна была использоваться в новом семействе компьютеров IBM PC. Microsoft выкупила права на операционную систему 86-DOS у Seattle Computer Products[4] и начала работу по её модификации под требования 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[5]. В 2018 году был опубликован исходный код ОС MS-DOS версий 1.25 и 2.0 под свободнойлицензией MIT[6][7].
История MS-DOSПравить
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].
В версии 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-продукт компаниями-производителями персональных компьютеров[источник не указан 1269 дней].
История версийПравить
Дистрибутив 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 для написание программ.
Надстройки и расширения сторонних производителейПравить
- Многозадачность
- Сетевые клиенты и серверы
- Соединения компьютер-компьютер
- 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-приложения: быстродействие эмулируемого компьютера, эмулируемая звуковая и видеокарта и т. п. Иногда используются замедлители процессора.
См. такжеПравить
ПримечанияПравить
- ↑Re-Open-Sourcing MS-DOS 1.25 and 2.0 | Windows Command Line . Дата обращения: 9 июля 2019.Архивировано 9 июня 2019 года.
- ↑MS-DOS: A Brief Introduction (англ.)
- ↑Энциклопедия MS-DOS (недоступная ссылка). Дата обращения: 31 декабря 2011.Архивировано 20 сентября 2018 года.
- ↑A Short History of MS-DOS (недоступная ссылка). Архивировано 31 октября 2015 года.
- ↑Microsoft makes source code for MS-DOS and Word for Windows available to public . Дата обращения: 26 марта 2016.Архивировано 21 июля 2014 года.
- ↑GitHub — microsoft/MS-DOS: The original sources of MS-DOS 1.25 and 2.0, for reference purposes . Дата обращения: 4 февраля 2019.Архивировано 17 января 2021 года.
- ↑Microsoft опубликовала исходный код ОС MS-DOS на GitHub . Дата обращения: 2 октября 2018.Архивировано 2 октября 2018 года.
- ↑ 123Conner, DougFather of DOS Still Having Fun at Microsoft (недоступная ссылка). Micronews. Дата обращения: 5 декабря 2009.Архивировано 9 февраля 2010 года.
- ↑ 12MS-DOS: A Brief Introduction . The Linux Information Project. Дата обращения: 24 декабря 2012.Архивировано 14 декабря 2017 года.
- ↑http://www.computerhistory.org . Дата обращения: 21 марта 2018.Архивировано 14 августа 2019 года.
- ↑A Short History of MS-DOS (недоступная ссылка). Дата обращения: 8 сентября 2017.Архивировано 31 октября 2015 года.
- ↑«Personal Computer Announced by IBM» . Дата обращения: 21 марта 2018.Архивировано 13 августа 2006 года.
- ↑ 1234MS-DOS Partitioning Summary (недоступная ссылка). microsoft.com. Дата обращения: 23 октября 2012.Архивировано 23 октября 2012 года.
- ↑ 12Enhanced Disk Drive Specification Version 1.1 (недоступная ссылка). Дата обращения: 23 марта 2018.Архивировано 17 апреля 2018 года.
- ↑PCjs Machines . Дата обращения: 21 марта 2018.Архивировано 22 марта 2018 года.
- ↑Did you know that OS/2 wasn’t Microsoft’s first non Unix multi-tasking operating system? . Дата обращения: 18 декабря 2011.Архивировано 4 ноября 2012 года.
- ↑Brown, Ralf D.Ralf Browns Interrupt List (v61 html) (16 июля 2000). Дата обращения: 3 ноября 2016.Архивировано 4 ноября 2016 года.
- ↑Brown, Ralf D.The x86 Interrupt List (v61 original text) archive: "inter61a.zip", subfile: "INTERRUP.B", heading: "B-1302" (INT13, 02 Read), Notes (16 июля 2000). Дата обращения: 3 ноября 2016.Архивировано 2 сентября 2017 года.
- ↑ 12Disk size limitations, The 8.4 GB limit (and others) . Дата обращения: 23 марта 2018.Архивировано 14 марта 2018 года.
- ↑http://rdos401.org/Архивная копия от 4 декабря 2016 на Wayback Machine 15-летию Russian MS-DOS 4.01 посвящается]
- ↑ 12How to enable 48-bit Logical Block Addressing support for ATAPI disk drives in Windows XP (недоступная ссылка). microsoft.com. Дата обращения: 10 октября 2015.Архивировано 10 октября 2015 года.
- ↑127 GB / 128 GB / 137 GB maximum hard drive capacity in Windows 98 . Дата обращения: 21 марта 2018.Архивировано 22 марта 2018 года.
- ↑Description of the FAT32 File System . microsoft.com. Дата обращения: 15 декабря 2018.Архивировано 15 декабря 2018 года.
- ↑Поддержка жестких дисков объёмом более 2 ТБ в Windows . microsoft.com. Дата обращения: 15 декабря 2018.Архивировано 15 декабря 2018 года.
СсылкиПравить
- Проект MS-DOS на сайте GitHub — Исходный код MS-DOS 1.25 и 2.0
- Справочник MS-DOS -Комманды, настройки легендарные игры и программы.
- История появления и развития операционной системы MS-DOS, описаны изменения в различных версиях
- Операционная система MS-DOS Александр Фролов, Григорий Фролов
- Тонкая настройка и оптимизация MS-DOS Александр Фролов, Григорий Фролов
- Наилучшее использование файлов CONFIG.SYS и AUTOEXEC.BAT
- KB71986 MS-DOS 5.0 Internal and External Commands
- MS-DOS отмечает тридцатилетиеКомпьюлента, 27 июля 2011