Русская Википедия:DOS
DOS (Шаблон:Lang-en — «дисковая операционная система», ДОС) — семейство операционных систем для PC-совместимых компьютеров, происходящих от MS DOS и PC DOS и совместимых с нимиШаблон:SfnШаблон:Sfn. До появления Windows 95 системы класса DOS были наиболее популярными операционными системами для PC, несмотря на их ограничения. После широкого распространения Windows и других многозадачных ОС, DOS сохранили ограниченное распространение как системы для низкопроизводительных машин, а также как предустановленные системы для ноутбуков, рассчитанные на дальнейшую замену современной операционной системой. Для запуска программ, рассчитанных на работу с DOS под другими операционными системами существуют эмуляторы, такие как DOSBox.
Существовали другие операционные системы с аббревиатурой DOS в названии, например, Apple DOS, TR-DOS, но они несовместимы с MS-DOS и между собой, потому не относятся к данному понятию.
История
Изначально аббревиатура DOS использовалась в названии операционной системы DOS/360 от компании IBM, точнее это было семейство операционных систем, в которую помимо DOS/360, включалась BOS/360 (базовая ОС), TOS/360 (ОС для магнитных лент) и BPS/360 (для перфокарт). Позже аббревиатура DOS стала использоваться в названии множества операционных систем от разных производителей, все они были несовместимы между собой и могли иметь различные реализации взаимодействия с пользователем — например, ProDOS для компьютеров Apple IIGS имела встроенную графическую оболочку.
В 1979 году компания SCP стала выпускать комплекты для сборки компьютеров на основе процессора Intel 8086. Не дождавшись, когда Digital Research, владевшая правами на CP/M, портирует эту систему на новый процессор, программисты компании написали собственную ОС. Она получила неофициальное название QDOS (Шаблон:Lang-en — быстрая и «сырая» ОС), и в дальнейшем стала продаваться как 86-DOS.
При разработке IBM PC было необходимо быстро разработать для него операционную систему. Изначально предполагалось заказать порт CP/M у Digital Research, но компаниям не удалось договориться об условиях лицензирования. Задачу перепоручили компании Microsoft, где было решено купить права на 86-DOS и адаптировать её для новой машиныШаблон:Sfn. Однако программисты Microsoft не справились с задачей в срок, из-за чего вмешались уже программисты компании IBM. Совместными усилиями компаний была рождена операционная система, которая первоначально получила название PC-DOS, однако сторонним клиентам она продавалась под названием MS DOS[1]. В течение года Microsoft заключила множество договоров об OEM-поставке MS DOS на компьютеры 70 различных компаний[2]. В основном это были OEM-версии DOS, адаптированные под конкретные машины, но с начала 90-х Microsoft начала продавать «коробочные» версии MS-DOS 5.0, то есть под своим брендом.
Когда в Digital Research осознали, что PC DOS во многом похожа на CP/M, они стали угрожать судебными исками. В IBM решили пойти на компромисс: покупателям разрешено будет выбирать между PC DOS и [[|en]] (англ.), однако из-за более высокой цены (на $200 больше, чем у PC DOS) покупатели предпочитали разработку IBM/Microsoft.
Чтобы вернуть себе позиции на рынке, Digital Research выпустила несколько операционных систем, совместимых с MS DOS и CP/M-86: Concurrent DOS, FlexOS, DOS Plus и Multiuser DOS, позже — DR-DOS, совместимую только с MS-DOS. В конце концов компанию Digital Research приобрела Novell и её продукты стали выпускаться от её имени.
В самой Microsoft MS-DOS не считали перспективным продуктом, планируя в будущем заменить DOS на более перспективную ОС Xenix[3][4]. В компании IBM долго не хотели ничем заменять DOS[5], но после того, как AT&T начала продавать свою версию Unix, было решено начать разработку OS/2[6]. Тем не менее, IBM и Microsoft не смогли договориться о том, будет ли наследником DOS Windows или OS/2[7], в результате чего пути компаний разошлись, MS-DOS и PC DOS в дальнейшем развивались независимо[8]. Последней версией MS-DOS стала 6.22, после чего она перестала продаваться как отдельный продукт, войдя в состав Windows 95 как её подсистема, в то время как компания IBM позже выпустила PC DOS 2000 (он же PC DOS 7.1), а в качестве OEM развивала её до версии 7.10.
После того, как Microsoft объявила о прекращении разработки MS-DOS, программисты Джим Холл, Пат Виллани и Тим Норман начали разработку аналога, который бы публиковался под свободной лицензией. Этот проект позже получил название FreeDOS.
Несмотря на выход Windows 95 и прекращение поддержки MS DOS компанией Microsoft, программы под DOS продолжали выходить ещё какое-то время. В частности, это были компьютерные игры, которые под DOS могли более полно использовать ресурсы оборудования, а также прикладные программы для слабых машин.
Описание
DOS — семейство операционных систем с монолитным ядром, предназначенных для работы с PC-совместимыми компьютерамиШаблон:Sfn. В системе отсутствует слой аппаратных абстракций. Поддержка большинства устройств, за исключением самых базовых функций, таких как работа с клавиатурой, выводом текста на экран и файловой системой, возложена на пользовательское ПОШаблон:Sfn.
DOS работают в режиме реальных адресов x86, что позволяет использовать для нужд операционной системы не более 1 МБ адресного пространства (точнее, 1 МБ + 64 КБ - 16 байт), с учётом специальных областей памяти становится доступно не более 640 КБ ОЗУ. Доступ к остальной оперативной памяти осуществляется с помощью специальных драйверов, наподобие HIMEM.SYS. Как правило используются только 16-битные команды процессора для сохранения совместимости с 8088.
DOS не предоставляют стандартных средств для осуществления многозадачности, однако существует особый «режим», называемый резидентным, когда программа перехватывает одно или несколько прерываний и после завершения вся или частично остаётся в памяти, работая как бы «параллельно» другим программам. При этом её код исполняется при аппаратном (например, по таймеру или при нажатии клавиш клавиатуры) или программном вызове перехваченных ею прерываний. Существуют также программные среды, реализующие многозадачность в DOS, одна из наиболее известных — DESQview, которые не пользовались особой популярностью. В DOS также отсутствует защита памяти и контроль доступа к файлам, что привело к широкому распространению компьютерных вирусов.
Основной способ взаимодействия с пользователем — через ввод команд. Возможно использование программ-оболочек, таких как Norton Commander, но они не являются частью ОС.
Составные части DOS
- Модуль интерфейсов ввода-вывода
- В MS-DOS он называется Шаблон:ИсходникШаблон:Sfn, в других системах может называться иначе, например Шаблон:Исходник в PC DOS. Содержимое этого файла постоянно находится в оперативной памяти после загрузки DOS и предоставляет основные API системы. Этот файл не может быть просто скопирован на диск, так как должен находится в определённом его секторе, для этого используется специальная команда SYS.
- Файл ядра операционной системы
- В MS-DOS он называется Шаблон:ИсходникШаблон:Sfn. Как и предыдущий файл, постоянно загружен в память и не может быть просто скопирован на диск. Windows 95 тоже содержит файл с таким названием, однако он содержит лишь параметры загрузки, а ядро DOS перенесено в Шаблон:Исходник
- Командный процессор
- Обрабатывает команды, вводимые в командную строку. В MS-DOS называется Шаблон:ИсходникШаблон:Sfn. Умеет обрабатывать несколько базовых команд (Type, Dir, и т. д.), не найдя нужной команды пытается запустить Шаблон:Исходник или Шаблон:Исходник файл с подходящим названием из текущего каталога, либо из прописанных в переменных окружения.
- Файл конфигурации
- Содержит данные о загружаемых драйверах и системные настройки. Типичное название: Шаблон:Исходник.
- Сценарий запуска
- Пакетный файл, запускающийся при старте системы. Типичное название Шаблон:Исходник.
- Встроенные утилиты
- В DOS входят различные утилиты, как программы проверки и форматирования дисков. С точки зрения пользователя не отличаются от команд оболочки, но являются отдельными исполняемыми файлами, расположенными в каталоге, который задаётся переменными окружения, поэтому часто эти утилиты называют внешними командами DOSШаблон:Sfn.
- Драйверы устройств
- DOS поддерживает довольно небольшое количество стандартных устройств, в основном это касается драйверов локализованной клавиатуры или нестандартных дисковых накопителей. Поддержка большинства прочих устройств, таких как мышь или звуковая карта возложена на конечное ПО.
- Загрузочный сектор
- не входит в файловую систему но располагается на диске в первом секторе. Его задача — найти системные файлы DOS, загрузить их в память и передать им управлениеШаблон:Sfn.
- BIOS
- Несмотря на то, что BIOS не является строго говоря частью DOS, некоторые функции операционной системы, в частности API для основных устройств ввода-вывода: клавиатуры, текстового и основных графических режимов, выполняет именно она.
Особенности работы
Работа с файлами
За исключением первых версий, DOS умеет работать с иерархической файловой системой — без специальных драйверов поддерживаются системы типа FAT. Командная оболочка не различает регистр файлов. Ранние версии DOS поддерживали не более 8 символов в имени файла и ещё 3 символа в расширении. В качестве разделителя пути используется символ обратного слеша (в отличие от прямого слеша в unix), так как прямой слеш используется для указания ключей запуска.
В отличие от unix, DOS не имеет системного корневого каталога, каждый примонтированный раздел файловой системы имеет свой корневой каталог. Разделы обозначаются буквами от A до Z, причём первые две буквы принято назначать дисководам гибких дисков. С помощью команды cd возможно переходить только между каталогами текущего раздела, переход на другой раздел осуществляется конструкцией Шаблон:Исходник, например Шаблон:ИсходникШаблон:Sfn.
Стандартный ввод-вывод
DOS включает гораздо более бедные возможности ввода-вывода, чем к примеру unix. В DOS имеется несколько стандартных устройств, имеющих зарезервированное имя: Шаблон:Исходник (принтер), Шаблон:Исходник (параллельные порты), Шаблон:Исходник (последовательные порты), Шаблон:Исходник (интерфейс консоли, при чтении он возвращает ввод с клавиатуры, при записи — выводит текст на экран) и Шаблон:Исходник (пустое устройство). Файлы с такими именами, даже с указанием расширения, невозможно создать ни в одном каталогеШаблон:Sfn. Для перенаправления ввода-вывода в командной строке используются символы Шаблон:Исходник (вывод в файл или на устройство), Шаблон:Исходник (вывод в конец файла), Шаблон:Исходник (чтение из файла или устройства) и Шаблон:Исходник (передача вывода из одной команды на вход другой)Шаблон:Sfn. В отличие от unix, в программах для DOS эти средства ввода-вывода используются достаточно редко, в основном программы обращаются к более низкоуровневым API системы либо к оборудованию напрямую.
Резидентные программы
Шаблон:Главная Одна из особенностей DOS — возможность программы стать резидентной. Для этого при завершении основной программы и передаче управления командному процессору DOS, программа сообщает, что всю её, или какую-то часть нужно оставить в памяти. Как правило, резидентные программы переводят на себя какой-либо вектор прерывания, с помощью которого и происходит взаимодействие между запущенной программой и резидентной. Похожим образом работают драйвера устройств в файлах с расширением SYS, однако последние загружаются при запуске ОСШаблон:Sfn (хотя существуют отдельные утилиты, позволяющие загружать драйвера и позже, например, DEVLOAD). DOS не имела штатных средств контроля запущенных резидентных программ и их принудительной выгрузки, а также не имела никакой защиты памяти. Этим пользовались многие ранние вирусы.
Критика
В компании Microsoft MS-DOS рассматривался как временное решение с дальнейшим переходом на более совершенную систему Xenix, однако данная система так и не стала популярной. Уже к концу 80-х архаичность DOS-систем, используемых на PC становилась объектом критики, так как конкурирующие платформы давно обзавелись многозадачными операционными системами с графическим интерфейсом. Первые версии Windows, вплоть до Windows 95 не были полноценными операционными системами и требовали для своей работы установленный DOS. С другой стороны, даже после появления Windows 95, DOS-подобные операционные системы продолжали использовать по причине их простоты и низких системных требований, возможности получать прямой доступ ко всему оборудованию компьютера, а также стабильности на фоне ранних Windows.
Примечания
Литература