DOS: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
возврат удалённого текста с источниками.
DOS в «широком» смысле — незначимое понятие, кроме того статья должна писаться об одном значении термина, см. ВП:НЕСЛОВАРЬ
Метка: отмена
Строка 1: Строка 1:
[[Файл:FreeDOS Beta 9 pre-release5 (command line interface) on Bochs sshot20040912.png|thumb|right|300px|Скриншот [[FreeDOS]]]]
[[Файл:FreeDOS Beta 9 pre-release5 (command line interface) on Bochs sshot20040912.png|thumb|right|300px|Скриншот [[FreeDOS]]]]
{{другие значения}}
{{другие значения}}
'''DOS''' ({{lang-en|Disk Operating System}} — '''''дисковая операционная система''''', ДОС) — семейство [[операционная система|операционных систем]] для [[IBM PC-совместимый компьютер|PC-совместимых компьютеров]], происходящих от [[MS DOS]] и [[PC DOS]] и совместимых с ними{{sfn|Murdock|2008|p=1}}{{sfn|Фигурнов|1999|с=112}}. До появления Windows 95 системы класса DOS были наиболее популярными операционными системами для PC, несмотря на их ограничения. После широкого распространения Windows и других многозадачных ОС, DOS сохранили ограниченное распространение как системы для низкопроизводительных машин, а также как предустановленные системы для ноутбуков, рассчитанные на дальнейшую замену современной операционной системой. Для запуска программ, рассчитанных на работу с DOS под другими операционными системами существуют [[Эмуляция|эмуляторы]], такие как [[DOSBox]].
'''DOS''' ({{lang-en|Disk Operating System}} — '''''дисковая операционная система''''', ДОС) — в широком смысле слова, операционная система для компьютеров, ориентированных на использование дисковых накопителей, таких как [[жёсткий диск]] и [[дискета]]<ref>{{Cite web|url=http://marklv.narod.ru/book/urok2.htm|title=Урок N 2. Дисковая операционная система.|publisher=marklv.narod.ru|accessdate=2017-12-08}}</ref>. Любая ДОС поддерживает одну или несколько файловых систем для организации хранения, чтения и записи с накопителей. Современные графические ОС, такие как [[Windows]] или [[GNU/Linux]], также попадают под это понятие. В случае бездисковой загрузки ОС всё равно работает с сетевыми накопителями<ref>{{Cite web|url=http://mechanoid.kiev.ua/networks-diskless.html|title=Бездисковые станции и терминалы|author=Evgeny S. Borisov|publisher=mechanoid.kiev.ua|accessdate=2017-12-08}}</ref>.

Ранние версии компьютеров не имели дисковых накопителей, и управлялись бездисковыми ОС<ref>{{Cite news|title=Дисковые операционные системы — allRefs.net|url=http://allrefs.net/c52/3vnwq/p24/|accessdate=2017-12-08|language=ru}}</ref>. Главным недостатком при работе с ними была необходимость загрузки пользовательских программ с ленты, перфокарт, клавиатуры, установкой перемычек. С появлением дисковых накопителей (магнитного типа) потребовалось разработать подпрограммы управления ими. ДОС представляет собой объединение ОС и дискового интерфейса<ref>{{Cite web|url=http://5informatika.net/Operatsionnye-sistemy/Operatsionnaja-sistema-eto-sistema-programm/013-Pervye-diskovye-operatsionnye-sistemy.html|title=Первые дисковые операционные системы|publisher=5informatika.net|accessdate=2017-12-08}}</ref>.

Кроме доступа к дискам, ДОС предоставляет и обычные системные функции, такие как ввод и вывод на консоль/клавиатуру, порты, операции с памятью, процессами. Существовали операционные системы с таким названием для больших [[ЭВМ]] производства [[IBM]] и их клонов в 1960—1980-х годах. '''''Ввиду''''' '''''широкого распространения однозадачной текстовой [[MS-DOS]] и её конкурентов на персональных компьютерах, термин "DOS" обычно применяли в этом, узком смысле'''''<ref>{{Cite web|url=http://www.edu.yar.ru/russian/cources/comp/dos.html|title=Введение в операционную систему MS-DOS|publisher=www.edu.yar.ru|accessdate=2017-12-08}}</ref>'''''.'''''


==История==
==История==
Строка 55: Строка 51:
{{Главная|Резидентная программа}}
{{Главная|Резидентная программа}}
Одна из особенностей DOS — возможность программы стать ''резидентной''. Для этого при завершении основной программы и передаче управления командному процессору DOS, программа сообщает, что всю её, или какую-то часть нужно оставить в памяти. Как правило, резидентные программы переводят на себя какой-либо вектор прерывания, с помощью которого и происходит взаимодействие между запущенной программой и резидентной. Аналогичным образом работают драйвера устройств, однако последние загружаются только при запуске ОС{{sfn|Фигурнов|1999|c=116−117}}. DOS не имела штатных средств контроля запущенных резидентных программ и их принудительной выгрузки, а также не имела никакой защиты памяти. Этим пользовались многие ранние [[компьютерный вирус|вирусы]].
Одна из особенностей DOS — возможность программы стать ''резидентной''. Для этого при завершении основной программы и передаче управления командному процессору DOS, программа сообщает, что всю её, или какую-то часть нужно оставить в памяти. Как правило, резидентные программы переводят на себя какой-либо вектор прерывания, с помощью которого и происходит взаимодействие между запущенной программой и резидентной. Аналогичным образом работают драйвера устройств, однако последние загружаются только при запуске ОС{{sfn|Фигурнов|1999|c=116−117}}. DOS не имела штатных средств контроля запущенных резидентных программ и их принудительной выгрузки, а также не имела никакой защиты памяти. Этим пользовались многие ранние [[компьютерный вирус|вирусы]].
== Критика ==

В компании Microsoft MS-DOS рассматривался как временное решение с дальнейшим переходом на более совершенную систему [[Xenix]], однако данная система так и не стала популярной. Уже к концу 80-х архаичность DOS-систем, используемых на PC становилась объектом критики, так как конкурирующие платформы давно обзавелись многозадачными операционными системами с графическим интерфейсом. Windows, вплоть до Windows 95 не были полноценными операционными системами и требовали для своей работы установленный DOS. С другой стороны, даже после появления Windows 95, DOS-подобные операционные системы продолжали использовать по причине их простоты и низких системных требований, возможности получать прямой доступ ко всему оборудованию компьютера, а также стабильности на фоне ранних Windows.
== Плюсы и минусы DOS ==
Практически все упомянутые DOS являются однозадачными 16-разрядными системами с [[Монолитное ядро|монолитным ядром]] и текстовым вводом-выводом. Графические оболочки отсутствуют, но некоторые имеют текстовые псевдографические ([[DOS Shell|Dosshell]] и подобные)<ref>{{Книга|автор=|заглавие=MS-DOS 6.0 Справочное руководство для пользователей компьютеров IBM PC|ответственный=|год=1994|издание=|место=|издательство=ВА-Принт|страницы=|страниц=|isbn=5-85734-023-3|isbn2=}}</ref>. Доступ к быстрым графическим процедурам в DOS обычно отсутствует, так что разработчики программ, где время критично ([[Компьютерная игра|игры]], производственные...) использовали систему как простой загрузчик, обращаясь к ресурсам компьютера через процедуры [[BIOS]], порты, читая и записывая [[видеопамять]] напрямую<ref>{{Книга|автор=Гордеев А. В.|заглавие=Операционные системы: Учебник для вузов|ответственный=|год=2007|издание=2-е|место=Санкт-Петербург|издательство=|страницы=|страниц=|isbn=978-5-94723-632-3|isbn2=}}</ref>. В компании Microsoft MS-DOS рассматривался как временное решение с дальнейшим переходом на более совершенную систему [[Xenix]], однако данная система так и не стала популярной. Уже к концу 80-х архаичность DOS-систем, используемых на PC становилась объектом критики, так как конкурирующие платформы давно обзавелись многозадачными операционными системами с графическим интерфейсом.

Преимуществами семейства DOS являлись:

# Малая потребность в [[Оперативная память|оперативной памяти]].
# Простота устройства и сопровождения.
# Малое время установки/переустановки.
# Лёгкость доступа к низкоуровневым ресурсам.

Недостатки:

# [[Реентерабельность|Нереентерабельность]] DOS, затруднявшая создание резидентных программ.
# Отсутствие поддержки [[Plug and Play]].
# Отсутствие встроенных [[Файловый менеджер|файловых менеджеров]], графических оболочек.
# Скудность системных библиотек.


== Примечания ==
== Примечания ==

Версия от 19:10, 28 апреля 2022

Скриншот FreeDOS

DOS (англ. Disk Operating System — дисковая операционная система, ДОС) — семейство операционных систем для PC-совместимых компьютеров, происходящих от MS DOS и PC DOS и совместимых с ними[1][2]. До появления Windows 95 системы класса DOS были наиболее популярными операционными системами для PC, несмотря на их ограничения. После широкого распространения Windows и других многозадачных ОС, DOS сохранили ограниченное распространение как системы для низкопроизводительных машин, а также как предустановленные системы для ноутбуков, рассчитанные на дальнейшую замену современной операционной системой. Для запуска программ, рассчитанных на работу с DOS под другими операционными системами существуют эмуляторы, такие как DOSBox.

История

Аббревиатура DOS впервые использовалась в названии операционной системы DOS/360?!, точнее это было семейство операционных систем, включавших BOS/360 (базовая ОС), TOS/360 (ОС для магнитных лент) и т.д. Позже аббревиатура DOS стала использоваться в названии множества операционных систем, все они были несовместимы между собой и могли иметь различные реализации взаимодействия с пользователем — например, ProDOS для компьютеров Apple IIGS имела встроенную графическую оболочку.

В 1979 году компания SCP стала выпускать комплекты для сборки компьютеров на основе процессора Intel 8086. Не дождавшись, когда Digital Research, владевшая правами на CP/M, портирует эту систему на новый процессор, программисты компании написали собственную ОС. Она получила неофициальное название QDOS (англ. Quick and Dirty OS — быстрая и «сырая» ОС), и в дальнейшем стала продаваться как 86-DOS.

При разработке IBM PC было необходимо быстро разработать для него операционную систему. Изначально предполагалось заказать порт PC/M у Digital Research, но компаниям не удалось договориться об условиях лицензирования. Задачу перепоручили компании Microsoft, где было решено купить права на 86-DOS и адаптировать её для новой машины[3]. Однако программисты Microsoft не справились с задачей в срок, из-за чего вмешались уже программисты компании IBM. Совместными усилиями компаний была рождена операционная система, которая первоначально получила название PC-DOS, однако сторонним клиентам она продавалась под названием MS DOS[4]. В течение года Microsoft заключила множество договоров об OEM-поставке MS DOS на компьютеры 70 различных компаний[5]. В основном это были OEM-версии DOS, адаптированные под конкретные машины, но с начала 90-х Microsoft начала продавать «коробочные» версии MS-DOS 5.0.

Когда в Digital Research осознали, что PC DOS во многом похожа на CP/M, они стали угрожать судебными исками. В IBM решили пойти на компромисс: покупателям разрешено будет выбирать между PC DOS и CP/M-86[англ.], однако из-за более высокой цены (на $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[6][7]. В компании IBM долго не хотели ничем заменять DOS[8], но после того, как AT&T начала продавать свою версию Unix, было решено начать разработку OS/2[9]. Тем не менее, IBM и Microsoft не смогли договориться о том, будет ли наследником DOS Windows или OS/2[10], в результате чего пути компаний разошлись, MS-DOS и PC DOS в дальнейшем развивались независимо[11]. Последней версией 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-совместимыми компьютерами[2]. В системе отсутствует слой аппаратных абстракций, поддержка большинства устройств, за исключением самых базовых функций, таких как работа с клавиатурой, текстовым дисплеем и файловой системой, возложена на пользовательское ПО[12].

DOS работают в реальном режиме адресации x86, что позволяет использовать для нужд операционной системы не более 1 МБ адресного пространства, с учётом специальных областей памяти становится доступно не более 640КБ ОЗУ. Доступ к остальной оперативной памяти осуществляется с помощью специальных драйверов, наподобие HIMEM.SYS. Как правило используются только 16-битные команды процессора для сохранения совместимости с 8088.

DOS не предоставляют стандартных средств для осуществления многозадачности, однако существует особый режим, называемый резидентным, когда после завершения программы вся она или её часть остаётся в памяти и может быть вызвана из другого приложения с помощью специального прерывания. Кроме того, в DOS отсутствовала защита памяти и контроль доступа к файлам, что привело к широкому распространению компьютерных вирусов.

Основной способ взаимодействия с пользователем — через ввод команд. Возможно использование программ-оболочек, таких, как Norton Commander, но они не являются частью системы.

Составные части DOS

Файл интерфейсов ввода-вывода
В MS-DOS он называется IO.SYS[13], в других системах может называться иначе, например IBMBIO.SYS в PC DOS. Содержимое этого файла постоянно находится в памяти компьютера после загрузки DOS и предоставляет основные API системы. Этот файл не может быть просто скопирован на диск, так как должен находится в определённом его секторе, для этого используется специальная команда SYS.
Файл ядра операционной системы
В MS-DOS он называется MSDOS.SYS[13]. Как и предыдущий файл, постоянно загружен в память и не может быть просто скопирован на диск. Windows 95 тоже содержит файл с таким названием, однако он содержит лишь параметры загрузки, а ядро DOS перенесено в IO.SYS
Командный процессор
Обрабатывает команды, вводимые в командную строку. В MS-DOS называется COMMAND.COM[13]. Умеет обрабатывать несколько базовых команд (Type, Dir, и т.д.), не найдя нужной команды пытается запустить .COM или .EXE файл с подходящим названием из текущего каталога, либо из прописанных в переменных окружения.
Файл конфигурации
Содержит данные о загружаемых драйверах и системные настройки. Типичное название: CONFIG.SYS.
Сценарий запуска
Пакетный файл, запускающийся при старте системы. Типичное название AUTOEXEC.BAT.
Встроенные утилиты
В DOS входят различные утилиты, как программы проверки и форматирования дисков. С точки зрения пользователя не отличаются от команд оболочки, но являются отдельными исполняемыми файлами, расположенными в каталоге, который задаётся переменными окружения, поэтому часто эти утилиты называют внешними командами DOS[13].
Драйверы устройств
DOS поддерживает довольно небольшое количество стандартных устройств, в основном это касается драйверов локализованной клавиатуры или нестандартных дисковых накопителей. Поддержка большинства прочих устройств, таких как мышь или звуковая карта возложена на конечное ПО.
Загрузочный сектор
не входит в файловую систему но располагается на диске в первом секторе. Его задача — найти системные файлы DOS, загрузить их в память и передать им управление[14].

Особенности работы

Работа с файлами

За исключением первых версий, DOS умеет работать с иерархической файловой системой — без специальных драйверов поддерживаются системы типа FAT. Командная оболочка не различает регистр файлов. Ранние версии DOS поддерживали не более 8 в имени файла и ещё 3 символа в расширении. В качестве разделителя пути используется символ обратного слеша (в отличие от прямого слеша в unix), так как прямой слеш используется для указания ключей запуска.

В отличие от unix, DOS не имеет системного корневого каталога, каждый примонтированный раздел файловой системы имеет свой корневой каталог. Разделы обозначаются буквами от A до Z, причём первые две буквы принято назначать дисководам гибких дисков. С помощью команды cd возможно переходить только между каталогами текущего раздела, переход на другой раздел осуществляется конструкцией <буква диска>:, например C:[15].

Стандартный ввод-вывод

DOS включает гораздо более бедные возможности ввода-вывода, чем к примеру unix. В DOS имеется несколько стандартных устройств, имеющих зарезервированное имя: PRN (принтер), LPT1…4 (параллельные порты), COM1…4 (последовательные порты), CON (интерфейс консоли, при чтении он возвращает ввод с клавиатуры, при записи — выводит текст на экран) и NUL (пустое устройство). Файлы с такими именами, даже с указанием расширения, невозможно создать ни в одном каталоге[16]. Для перенаправления ввода-вывода в командной строке используются символы > (вывод в файл или на устройство), >> (вывод в конец файла), < (чтение из файла или устройства) и | (передача вывода из одной команды на вход другой)[17]. В отличие от unix, в программах для DOS эти средства ввода-вывода используются достаточно редко, в основном программы обращаются к более низкоуровневым API системы либо к оборудованию напрямую.

Резидентные программы

Одна из особенностей DOS — возможность программы стать резидентной. Для этого при завершении основной программы и передаче управления командному процессору DOS, программа сообщает, что всю её, или какую-то часть нужно оставить в памяти. Как правило, резидентные программы переводят на себя какой-либо вектор прерывания, с помощью которого и происходит взаимодействие между запущенной программой и резидентной. Аналогичным образом работают драйвера устройств, однако последние загружаются только при запуске ОС[18]. DOS не имела штатных средств контроля запущенных резидентных программ и их принудительной выгрузки, а также не имела никакой защиты памяти. Этим пользовались многие ранние вирусы.

Критика

В компании Microsoft MS-DOS рассматривался как временное решение с дальнейшим переходом на более совершенную систему Xenix, однако данная система так и не стала популярной. Уже к концу 80-х архаичность DOS-систем, используемых на PC становилась объектом критики, так как конкурирующие платформы давно обзавелись многозадачными операционными системами с графическим интерфейсом. Windows, вплоть до Windows 95 не были полноценными операционными системами и требовали для своей работы установленный DOS. С другой стороны, даже после появления Windows 95, DOS-подобные операционные системы продолжали использовать по причине их простоты и низких системных требований, возможности получать прямой доступ ко всему оборудованию компьютера, а также стабильности на фоне ранних Windows.

Примечания

  1. Murdock, 2008, p. 1.
  2. 1 2 Фигурнов, 1999, с. 112.
  3. Таненбаум, 2010, с. 932.
  4. Mary Bellis. The Unusual History of MS-DOS The Microsoft Operating System. Дата обращения: 2 сентября 2008.
  5. Freiberger, Paul (1982-08-23). "Bill Gates, Microsoft and the IBM Personal Computer". InfoWorld: 22. Архивировано 18 марта 2015. Дата обращения: 29 января 2015.
  6. Morgan, Chris (January 1982). "Of IBM, Operating Systems, and Rosetta Stones". BYTE: 6. Дата обращения: 19 октября 2013.
  7. Fiedler, Ryan (October 1983). "The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace". BYTE: 132. Дата обращения: 30 января 2015.
  8. Howitt, Doran (1984-12-10). "Unix and the Single User". InfoWorld: 28. Архивировано 29 января 2018. Дата обращения: 7 февраля 2015.
  9. Letwin, Gordon (1995-08-17). "What's happening to OS/2". Newsgroupcomp.os.os2.advocacy. Usenet: DDFvKo.G4M@lab.lwpi.com. Дата обращения: 6 ноября 2013.
  10. Pollack, Andrew (1991-07-27). "Microsoft Widens Its Split With I.B.M. Over Software". The New York Times. Архивировано 2 ноября 2010. Дата обращения: 2 сентября 2008.
  11. Brinkley, Joel (1999-05-28). "I.B.M. Executive Describes Price Pressure by Microsoft". New York Times. Архивировано 11 декабря 2008. Дата обращения: 2 сентября 2008.
  12. Фигурнов, 1999, с. 114.
  13. 1 2 3 4 Фигурнов, 1999, с. 115.
  14. Фигурнов, 1999, с. 116.
  15. Фигурнов, 1999, с. 141.
  16. Фигурнов, 1999, с. 89.
  17. Фигурнов, 1999, с. 131.
  18. Фигурнов, 1999, с. 116−117.

Литература

  • В.Э.Фигурнов. Часть 3. Основы работы в среде MS DOS // IBM PC для пользователя. — М.: Инфра-М, 1999. — ISBN 5-86225-471-4.
  • Murdock, Everett. DOS the Easy Way. — EasyWay Downloadable Books, 2008. — С. 1. — ISBN 0923178023.
  • Э. Таненбаум. Современные операционные системы = Modern operating systems. — 3-е издание. — Питер, 2010. — 1120 с. — (Классика Computer Science). — ISBN 978-5-49807-306-4.