Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Снимок экрана, показывающий экран загрузки, интерфейс командной строки и структуру каталогов MS-DOS 6
Снимок экрана, показывающий экран загрузки, интерфейс командной строки, информацию о версии и структуру каталогов FreeDOS

DOS ( / d ɒ s / , / d ɔː s / [1] ) - это не зависящее от платформы сокращение для дисковой операционной системы, которое позже стало общим сокращением для дисковых операционных систем на совместимых с IBM PC . [2] DOS в основном состоит из Microsoft «s MS-DOS и ребрендинг версии под названием IBM PC DOS , оба из которых были введены в 1981 г. Позже , совместимых систем других производителей включают в себя DR DOS (1988), ROM-DOS (1989 ), PTS-DOS (1993) иFreeDOS (1998). MS-DOS доминировала на рынке IBM PC-совместимых между 1981 и 1995 годами.

Десятки других операционных систем также используют аббревиатуру «DOS», начиная с DOS / 360 мэйнфрейма 1966 года. Другие включают Apple DOS , Apple ProDOS , Atari DOS , Commodore DOS , TRSDOS и AmigaDOS .

История [ править ]

Истоки [ править ]

Снимок экрана, показывающий Digital Research Apple CP / M на Z-80 SoftCard для Apple II

IBM PC DOS (и отдельно продающиеся MS-DOS ) и его предшественник, 86-DOS , была основана на Digital Research «s CP / M -The доминирующей операционной системы на диске для 8-битных Intel 8080 и Zilog Z80 микроЭВМ, но вместо этого бегала на 16-битных процессорах Intel 8086 .

IBM Personal Computer (IBM 5150 PC)

Когда IBM представила IBM PC , построенный с микропроцессором Intel 8088 , им потребовалась операционная система. В поисках 8088-совместимой сборки CP / M IBM сначала обратилась к генеральному директору Microsoft Биллу Гейтсу (возможно, полагая, что Microsoft владела CP / M из-за Microsoft Z-80 SoftCard , которая позволяла CP / M работать на Apple II ). [3] IBM была отправлена ​​в Digital Research, и была назначена встреча. Однако первоначальные переговоры об использовании CP / M сорвались; Digital Research хотела продавать CP / M на условиях роялти, в то время как IBM стремилась получить единую лицензию и изменить название на «PC DOS». Основатель Digital Research Гэри Килдалл отказался, и IBM отказалась. [3][4]

Образец сеанса SCP 86-DOS (смоделированный).

IBM снова обратилась к Биллу Гейтсу. Гейтс, в свою очередь, обратился в компанию Seattle Computer Products . Там программист Тим Патерсон разработал вариант CP / M-80 , предназначенный в качестве внутреннего продукта для тестирования новой 16-битной карты процессора Intel 8086 от SCP для шины S-100 . Первоначально система называлась QDOS (Быстрая и грязная операционная система), а затем стала коммерчески доступной как 86-DOS . Microsoft приобрела 86-DOS якобы за 50 000 долларов США. Это стало Microsoft Disk Operating System, MS-DOS, представленной в 1981 году. [5] В течение года Microsoft лицензировала MS-DOS более чем 70 другим компаниям, [6]которые поставляли операционную систему для своего оборудования, иногда под своими собственными именами. Позднее Microsoft потребовала использовать имя MS-DOS, за исключением варианта IBM. IBM продолжала разрабатывать свою версию PC DOS для IBM PC. [5] Digital Research стало известно, что операционная система, подобная CP / M, продается IBM (под тем же названием, на котором IBM настаивала для CP / M), и пригрозила судебным иском. IBM ответила предложением соглашения: они предоставят потребителям ПК выбор между ПК DOS или CP / M-86 , версией 8086 Килдалла. Параллельно CP / M стоил на 200 долларов больше, чем PC DOS, и продажи были низкими. CP / M исчез, и MS-DOS и PC DOS стали продаваемыми операционными системами для ПК и совместимых с ними ПК. [3]

Изначально Microsoft продавала MS-DOS только производителям оригинального оборудования (OEM). Одной из основных причин этого было то, что не все ранние ПК были на 100% совместимы с IBM PC . DOS была структурирована таким образом, что было разделение между системным кодом драйвера устройства ( IO.SYS ) и ядром DOS ( MSDOS.SYS ). Microsoft предоставила OEM Adaptation Kit (OAK), который позволял OEM-производителям настраивать код драйвера устройства для своей конкретной системы. К началу 1990-х большинство ПК соответствовали стандартам IBM PC, поэтому Microsoft начала продавать MS-DOS в розницу с MS-DOS 5.0.

В середине 1980-х годов Microsoft разработала многозадачную версию DOS . [7] [8] Эту версию DOS обычно называют «европейской MS-DOS 4», потому что она была разработана для ICL и лицензирована для нескольких европейских компаний. Эта версия DOS поддерживает вытесняющую многозадачность, разделяемую память, вспомогательные службы устройств и исполняемые файлы в формате New Executable («NE»). Ни одна из этих функций не использовалась в более поздних версиях DOS, но они были использованы в качестве основы ядра OS / 2 1.0. Эта версия DOS отличается от широко распространенной PC DOS 4.0, разработанной IBM и основанной на DOS 3.3.

Digital Research CP / M-86 для персонального компьютера IBM версии 1.0

Digital Research попыталась вернуть рынок, утраченный после CP / M-86, сначала с помощью Concurrent DOS , FlexOS и DOS Plus (оба совместимы как с MS-DOS, так и с программным обеспечением CP / M-86), позже с многопользовательской DOS (совместимой с MS -DOS и программное обеспечение CP / M-86) и DR DOS (совместимое с программным обеспечением MS-DOS). Компания Digital Research купила Novell , а DR DOS превратилась в PalmDOS и Novell DOS ; позже, это была часть кальдеры (под названиями OpenDOS и DR-DOS 7,02 / 7,03 ), Lineo и DeviceLogics .

Гордон Летвин писал в 1995 году, что «DOS, когда мы впервые писали ее, была одноразовым одноразовым продуктом, предназначенным для того, чтобы IBM была счастлива, чтобы они купили наши языки». [9] Microsoft ожидала, что это будет промежуточное решение до Xenix. Компания планировала со временем усовершенствовать MS-DOS, чтобы он был почти неотличим от однопользовательского Xenix или XEDOS , который также будет работать на Motorola 68000 , Zilog Z-8000 и LSI-11 ; они будут совместимы снизу вверх с Xenix, который BYTE в 1983 году охарактеризовал как «многопользовательскую MS-DOS будущего». [10] [11]

OS / 2 1.0 имела интерфейс текстового режима, похожий на MS-DOS.

IBM, однако, не хотела заменять DOS. [12] После того, как AT&T начала продавать Unix, Microsoft и IBM начали разработку OS / 2 в качестве альтернативы. [9] Две компании позже имели ряд разногласий по поводу двух операционных систем-преемников DOS, OS / 2 и Windows. [13] В результате они разделили разработку своих систем DOS. [14] Последней розничной версией MS-DOS была MS-DOS 6.22; после этого MS-DOS стала частью Windows 95, 98 и Me. Последней розничной версией PC DOS была PC DOS 2000 (также называемая PC DOS 7 revision 1), хотя позже IBM разработала PC DOS 7.10 для OEM-производителей и внутреннего использования.

Проект FreeDOS начался 26 июня 1994 года, когда Microsoft объявила, что больше не будет продавать и поддерживать MS-DOS. Затем Джим Холл опубликовал манифест, в котором предлагалось разработать замену с открытым исходным кодом. Через несколько недель к проекту присоединились другие программисты, включая Пэта Виллани и Тима Нормана. Ядро, интерпретатор командной строки COMMAND.COM (оболочка) и основные утилиты были созданы путем объединения кода, который они написали или нашли доступным. До выпуска FreeDOS 1.0 3 сентября 2006 г. существовало несколько официальных предварительных выпусков FreeDOS. FreeDOS, предоставляемая по Стандартной общественной лицензии GNU (GPL), не требует лицензионных сборов или лицензионных отчислений. [15] [16]

Отклонить [ править ]

Ранние версии Microsoft Windows работали на отдельной версии MS-DOS. [17] К началу 1990-х годов графическая оболочка Windows получила широкое распространение в новых системах DOS. В 1995 году Windows 95 была объединена как отдельная операционная система, для которой не требовалась отдельная лицензия DOS. Windows 95 (а затем Windows 98 и ME) взяла на себя роль ядра ОС по умолчанию , хотя компонент MS-DOS остался для совместимости. В Windows 95 и 98, но не в ME, компонент MS-DOS можно было запускать без запуска Windows. [18] [19] [20] Поскольку DOS больше не требуется для использования Windows, большинство пользователей перестали использовать ее напрямую.

Продолжение использования [ править ]

DOSBox

Доступные системы DOS в 2012 году: FreeDOS , DR-DOS , ROM-DOS , PTS-DOS , RxDOS [21] и REAL / 32 . Некоторые производители компьютеров, включая Dell и HP , продают компьютеры с FreeDOS и DR-DOS в качестве операционных систем OEM . [22] [23]

Встроенные системы [ править ]

Структура прямого доступа к оборудованию в DOS делает его идеальным для использования во встраиваемых устройствах . Последние версии DR-DOS по-прежнему ориентированы на этот рынок. [24] ROM-DOS использовалась как встроенная система на Canon PowerShot Pro 70. [25]

Эмуляция [ править ]

В Linux можно запускать копии DOS и многих его клонов на DOSEMU , собственной виртуальной машине Linux для запуска программ DOS с почти собственной скоростью. Существует ряд других эмуляторов для запуска DOS в различных версиях Unix и Microsoft Windows, таких как DOSBox . [26] [27] DOSBox разработан для устаревших игр (например, King's Quest , Doom ) в современных операционных системах. [17] [26]

Дизайн [ править ]

Операционные системы, относящиеся к MS-DOS и IBM PC DOS, обычно ассоциируются с машинами, использующими Intel x86 или совместимые процессоры , в основном совместимые с IBM PC . Машинно-зависимые версии MS-DOS были созданы для многих несовместимых с IBM компьютеров x86 , с вариациями от перемаркировки дистрибутива Microsoft под названием производителя до версий, специально разработанных для работы с оборудованием, не совместимым с IBM-PC. . Поскольку прикладные программы использовали API-интерфейсы DOS вместо прямого доступа к оборудованию, они могли работать как на IBM-PC-совместимых, так и на несовместимых машинах. Исходное ядро FreeDOS , DOS-C , было производным от DOS / NT.для серии процессоров Motorola 68000 в начале 1990-х годов. Хотя эти системы в общих чертах напоминали архитектуру DOS, приложения не были двоично совместимы из-за несовместимых наборов инструкций этих процессоров, отличных от x86. Однако приложения, написанные на языках высокого уровня, можно было легко перенести.

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

DOS предоставляет возможность написания сценариев оболочки с помощью командных файлов (с расширением имени файла .BAT ). Каждая строка командного файла интерпретируется как запускаемая программа. В пакетных файлах также могут использоваться внутренние команды, такие как GOTO и условные операторы . [28]

Операционная система предлагает интерфейс прикладного программирования, который позволяет разрабатывать символьные приложения, но не для доступа к большей части оборудования , такого как видеокарты , принтеры или мыши . Это требовало от программистов прямого доступа к оборудованию, что обычно приводило к тому, что каждое приложение имело собственный набор драйверов устройств для каждого периферийного оборудования. Производители оборудования выпустят спецификации, чтобы гарантировать наличие драйверов устройств для популярных приложений. [29]

Последовательность загрузки [ править ]

  • Загрузчик на PC-совместимых компьютеров, загрузочную запись , размещается начиная с загрузочного сектора , первый сектор на первой дорожке ( трек ноль ), загрузочного диска. В BIOS ROM будет загружать этот сектор в память по адресу 0000h : 7C00h , и , как правило , проверить подписи « 55h AAh » по смещению + 1FEh . Если сектор считается недействительным, ROM BIOS будет пытаться использовать следующий физический диск в строке, в противном случае он перейдет к адресу загрузки с настроенными определенными регистрами.
  • Если загруженный загрузочный сектор является основной загрузочной записью (MBR), как обнаружено на разделенном носителе, он переместится в память 0000h : 0600h [30], в противном случае этот шаг будет пропущен. Код MBR будет сканировать таблицу разделов, которая находится в этом секторе, на предмет активного раздела (современные MBR проверяют, установлен ли бит 7 на смещение + 1BEh + 10h * n , тогда как старые MBR просто проверяют значение 80h ), и, если он найден, загрузите первый сектор соответствующего раздела, который содержит загрузочную запись тома (VBR) этого тома, в память по адресу 0000h : 7C00hтаким же образом, как он был загружен самой ROM BIOS. Затем MBR передаст выполнение загруженной части с настроенными определенными регистрами.
  • Содержимое сектора, загруженное в 0000h : 7C00h, теперь составляет VBR. VBR зависят от операционной системы и не могут быть обменены между разными версиями DOS в целом, так как точное поведение различается между разными версиями DOS. В очень старых версиях DOS, таких как DOS 1.x, VBR загружал весь файл IO.SYS / IBMBIO.COM в память в 0000h : 0600h . [31] Чтобы это работало, эти секторы должны были последовательно сохраняться на диске системой SYS. В более поздних выпусках он будет находить и сохранять содержимое первых двух записей в корневом каталоге по адресу 0000h : 0500h.и если они отражают правильные загрузочные файлы, записанные в VBR, VBR загрузит первые 3 последовательных сектора файла IO.SYS / IBMBIO.COM в память в 0070h : 0000h . VBR также должен позаботиться о сохранении содержимого таблицы параметров диска (DPT). Наконец, он передает управление загруженной части, перескакивая к ее точке входа с настроенными определенными регистрами (со значительными различиями между различными версиями DOS).
  • В современных [ требующих разъяснения ] версиях DOS, где VBR загружает в память только первые 3 сектора файла IO.SYS / IBMBIO.COM, загруженная часть содержит другой загрузчик, который затем загружает оставшуюся часть себя в память. , используя информацию корневого каталога, хранящуюся в 0000h : 0500h . Для большинства версий содержимое файла по-прежнему необходимо сохранять на диске в последовательном порядке. В более старых версиях DOS, которые все еще загружались целиком, этот шаг пропускается.
  • Код инициализации системы DOS инициализирует свои встроенные драйверы устройств, а затем также загружает в память ядро DOS, находящееся в MSDOS.SYS в системах MS-DOS. В Windows 9x код инициализации системы DOS, встроенные драйверы устройств и ядро ​​DOS объединены в один файл IO.SYS, а MSDOS.SYS используется как текстовый файл конфигурации.
  • CONFIG.SYS файл затем считывается для синтаксического анализа параметров конфигурации. SHELL переменная определяет местоположение оболочки , который по умолчанию COMMAND.COM .
  • Оболочка загружается и запускается.
  • Затем командный файл запуска AUTOEXEC.BAT запускается оболочкой. [32] [33]

Системные файлы DOS, загружаемые загрузочным сектором, должны быть смежными и быть первыми двумя записями каталога . [34] Таким образом, удаление и добавление этого файла может привести к невозможности загрузки с носителя. Однако можно по желанию заменить оболочку - метод, который можно использовать для более быстрого запуска выполнения специальных приложений. Это ограничение не распространяется ни на одну версию DR DOS, где системные файлы могут располагаться в любом месте корневого каталога и не обязательно должны быть смежными. Следовательно, системные файлы можно просто скопировать на диск при условии, что загрузочный сектор уже совместим с DR DOS.

В PC DOS и DR DOS 5.0 и выше системные файлы DOS называются IBMBIO.COM вместо IO.SYS и IBMDOS.COM вместо MSDOS.SYS . В более старых версиях DR DOS вместо них использовались DRBIOS.SYS и DRBDOS.SYS.

Начиная с MS-DOS 7.0 двоичные системные файлы IO.SYS и MSDOS.SYS были объединены в один файл IO.SYS, в то время как MSDOS.SYS стал файлом конфигурации, аналогичным CONFIG.SYS и AUTOEXEC.BAT. Если для директивы MSDOS.SYS BootGUI установлено значение 0, процесс загрузки остановится с загруженным командным процессором (обычно COMMAND.COM) вместо автоматического выполнения WIN.COM.

Файловая система [ править ]

DOS использует файловую систему, которая поддерживает имена файлов формата 8.3 : 8 символов для имени файла и 3 символа для расширения. Начиная с DOS 2 поддерживаются иерархические каталоги. Каждое имя каталога также имеет формат 8.3, но максимальная длина пути к каталогу составляет 64 символа из-за внутренних таблиц текущей структуры каталогов (CDS), которые поддерживает DOS. Включая имя диска, максимальная длина полного имени файла, поддерживаемого DOS, составляет 80 символов с использованием формата диск: \ путь \ имя_файла.ext, за которым следует нулевой байт.

DOS использует файловую систему таблицы размещения файлов (FAT). Первоначально это была FAT12, которая поддерживала до 4078 кластеров на диск. В DOS 3.0 добавлена ​​поддержка FAT16, которая использует 16-разрядные записи распределения и поддерживает до 65518 кластеров на диск. В Compaq MS-DOS 3.31 добавлена ​​поддержка FAT16B, которая сняла ограничение на размер диска 32 МБ и может поддерживать до 512 МБ. Наконец, MS-DOS 7.1 (компонент DOS в Windows 9x) добавила поддержку FAT32, которая использовала 32-битные записи распределения и могла поддерживать жесткие диски размером до 137 ГБ и более.

Начиная с DOS 3.1, в DOS была добавлена ​​поддержка перенаправителя файлов. Первоначально это использовалось для поддержки сети, но позже было использовано для поддержки приводов CD-ROM с MSCDEX . IBM PC DOS 4.0 также имела предварительную поддержку устанавливаемой файловой системы (IFS), но она не использовалась и была удалена в DOS 5.0. DOS также поддерживает блочные устройства (устройства "Дисковые накопители"), загруженные из CONFIG.SYS, которые можно использовать в файловой системе DOS для поддержки сетевых устройств.

Схема именования дисков [ править ]

В DOS диски обозначаются буквенными обозначениями. Стандартная практика - зарезервировать «A» и «B» для дисководов гибких дисков . В системах с одним дисководом для гибких дисков DOS присваивает дисководу обе буквы, предлагая пользователю поменять местами диски, поскольку программы поочередно обращаются к ним. Это облегчает копирование с дискеты на дискету или запуск программы с одной дискеты при доступе к ее данным на другой. Изначально жестким дискам были присвоены буквы «C» и «D». DOS могла поддерживать только один активный раздел на диске. Когда стала доступна поддержка большего количества жестких дисков, сначала была назначена буква диска активному первичному разделу каждого диска ,затем сделайте второй проход по дискам, чтобы назначить буквы логическим дискам врасширенный раздел , затем третий проход, чтобы дать другим неактивным основным разделам их имена (если такие дополнительные разделы существовали и содержали файловую систему, поддерживаемую DOS). Наконец, DOS выделяет буквы для оптических дисков , RAM-дисков и другого оборудования. Назначение букв обычно происходит в порядке загрузки драйверов, но драйверы могут указать DOS назначить другую букву; драйверы для сетевых дисков, например, обычно назначают буквы ближе к концу алфавита. [35]

Поскольку приложения DOS используют эти буквы дисков напрямую (в отличие от каталога / dev в Unix-подобных системах), они могут быть нарушены путем добавления нового оборудования, которому требуется буква диска. Примером может служить добавление нового жесткого диска, имеющего основной раздел, где уже существующий жесткий диск содержит логические диски в расширенных разделах; новому диску будет присвоена буква, которая ранее была назначена одному из логических дисков расширенного раздела. Более того, даже добавление нового жесткого диска, имеющего только логические диски в расширенном разделе, все равно приведет к нарушению букв RAM-дисков и оптических приводов. Эта проблема сохранялась в версиях Windows 9x на базе DOS от Microsoft до тех пор, пока они не были заменены версиями, основанными на строке NT, которая сохраняет буквы существующих дисков до тех пор, пока пользователь не изменит их.[35] В DOS эту проблему можно обойти, определив диск SUBST и установив программу DOS на этот логический диск. Затем назначение этого диска будет изменяться в пакетном задании при каждом запуске приложения. В некоторых версиях Concurrent DOS , а также в многопользовательской DOS , System Manager и REAL / 32 зарезервированная буква диска L: будет автоматически назначаться соответствующему загрузочному диску при каждом запуске приложения.

Зарезервированные имена устройств [ править ]

В DOS есть зарезервированные имена устройств, которые нельзя использовать в качестве имен файлов независимо от расширения, поскольку они заняты встроенными символьными устройствами. Эти ограничения также влияют на несколько версий Windows, в некоторых случаях вызывая сбои и уязвимости системы безопасности. [36]

Зарезервированные имена:

  • CON, для консоли
  • AUX, для вспомогательного
  • PRN, для принтера [37]
  • LST, для листера; введен с 86-DOS 0.74. [38]
  • NUL, для нулевых устройств ; добавлено в 86-DOS 1.10 и PC DOS 1.0.

С тех пор эти имена (кроме NUL) продолжали поддерживаться во всех версиях MS-DOS, PC DOS и DR-DOS. [38] LST был также доступен в некоторых OEM-версиях MS-DOS 1.25, в то время как другие OEM-версии MS-DOS 1.25 уже использовали LPT1( принтер первой строки ) и COM1(первое устройство последовательной связи ) вместо этого, как это было представлено в PC DOS. В дополнение к LPT1и LPT2так же , как COM1к COM3, Hewlett-Packard MS-DOS 2.11 для HP Portable Plus также поддерживает в LSTкачестве псевдонима для LPT2и в 82164Aкачестве псевдонима для COM2; [39] [40] он также поддерживался PLTдля плоттеров .[39] [40] В противном случаеCOM2,LPT2,LPT3иCLOCK$(еще называютCLOCKв некоторых вопросах MS-DOS 2.11 [41] [39] [40] ) устройство часы были введены с DOS 2.0, аCOM3иCOM4были добавлены с DOS 3.3. [38] Поддерживаласьтолько многозадачность MS-DOS 4KEYBD$ иSCREEN$. DR DOS 5.0 и выше и многопользовательская DOS поддерживают$IDLE$устройство для динамического обнаружения простоя для экономии энергии и улучшения многозадачности. LPT4- дополнительный встроенный драйвер для принтера четвертой строки, поддерживаемый в некоторых версиях DR-DOS с 7.02. CONFIG$составляет реальный режим PnP менеджер в MS-DOS 7.0-8.0.

AUXкак правило , по умолчанию COM1, и PRNв LPT1( LST), [38] , но эти значения могут быть изменены в некоторых версиях DOS , чтобы указать на другие последовательный или параллельные устройства. [39] [40] [42] также можно PLT было реконфигурировать. [39] [40]

Имена файлов завершился двоеточия ( : ) , например, обычно указывают имена устройств, но двоеточие не на самом деле часть названия встроенных драйверов устройств. В некоторых случаях двоеточие вводить не обязательно, например:NUL:

ECHO Это ничего не дает > NUL

По-прежнему можно создавать файлы или каталоги, используя эти зарезервированные имена устройств, например, путем прямого редактирования структур данных каталогов в секторах диска. Такое именование, например начало имени файла с пробела, иногда использовалось вирусами или программами взлома, чтобы скрыть файлы от пользователей, которые не знают, как получить доступ к этим местам.

Управление памятью [ править ]

DOS изначально была разработана для процессора Intel 8086/8088 и поэтому могла напрямую обращаться к максимуму 1 МБ ОЗУ. Из-за архитектуры ПК доступно только максимум 640 КБ (известная как обычная память ), так как верхние 384 КБ зарезервированы.

Были разработаны спецификации, позволяющие получить доступ к дополнительной памяти. Первой была спецификация расширенной памяти (EMS), которая изначально позволяла доступ к памяти на дополнительной карте через фрейм страницы размером 64 КБ в зарезервированной области верхней памяти. Системы 80386 и более поздних версий могут использовать диспетчер памяти в режиме виртуального 8086 (V86), такой как EMM386, для создания расширенной памяти из расширенной памяти без необходимости в дополнительной карте. Второй спецификацией была спецификация расширенной памяти (XMS) для систем 80286 и более поздних версий. Это обеспечило способ копирования данных в расширенную память и из нее, доступ к 65520-байтовой области высокой памяти (HMA) непосредственно над первым мегабайтом памяти и верхним блоком памяти.(UMB) площадь. Вообще XMS поддержка была предоставлена HIMEM.SYS или менеджером режима памяти V86 , как QEMM или 386MAX , который также поддерживает EMS.

Начиная с DOS 5, DOS могла напрямую использовать HMA, загружая туда свой код ядра и дисковые буферы с помощью оператора DOS = HIGH в CONFIG.SYS. DOS 5+ также позволял использовать доступные UMB через оператор DOS = UMB в CONFIG.SYS.

DOS под OS / 2 и Windows [ править ]

Эмуляция DOS в OS / 2 и Windows работает почти так же, как и собственные приложения. Они могут получить доступ ко всем дискам и службам и даже могут использовать службы буфера обмена хоста. Поскольку драйверы для файловых систем и т.п. находятся в хост-системе, для эмуляции DOS требуется только уровень трансляции DOS API, который преобразует вызовы DOS в системные вызовы OS / 2 или Windows. Уровень трансляции обычно также преобразует вызовы BIOS и виртуализирует доступ к обычным портам ввода-вывода, которые обычно используются многими программами DOS.

В Windows 3.1 и 9x виртуальная машина DOS предоставляется WINOLDAP. WinOldAp создает виртуальную машину на основе файла PIF программы и состояния системы при загрузке Windows. Графический режим DOS, как символьный, так и графический, может быть захвачен и запущен в окне. Приложения DOS могут использовать буфер обмена Windows, получая доступ к дополнительным опубликованным вызовам в WinOldAp, и можно вставлять текст через графику WinOldAp.

Эмулированная DOS в OS / 2 и Windows NT основана на DOS 5. Хотя существует конфигурация по умолчанию (config.sys и autoexec.bat), можно использовать альтернативные файлы для каждого сеанса. В эти файлы можно загрузить драйверы для доступа к хост-системе, хотя обычно они сторонние.

В OS / 2 2.x и новее эмуляция DOS обеспечивается DOSKRNL. Это файл, который представляет объединенные IBMBIO.COM и IBMDOS.COM, системные вызовы передаются оконным службам OS / 2. Программы DOS работают в своей собственной среде, большая часть утилит DOS предоставляется связанными приложениями DOS / OS2 в каталоге \ OS2. OS / 2 может запускать приложения Windows 3.1 с использованием модифицированной копии Windows (Win-OS / 2). Изменения позволяют программам Windows 3.1 беспрепятственно запускаться на рабочем столе OS / 2, или можно запускать рабочий стол WinOS / 2, аналогично запуску Windows из DOS.

OS / 2 позволяет использовать «DOS с диска A:», (VMDISK). Это настоящая DOS, такая как MS-DOS 6.22 или PC DOS 5.00. Делается загрузочная дискета DOS, добавляется ряд драйверов из OS / 2, а затем создается специальный образ. DOS, загруженная таким образом, имеет полный доступ к системе, но предоставляет собственные драйверы для оборудования. Такой диск можно использовать для доступа к приводам cdrom, для которых нет драйвера OS / 2.

Во всех 32-битных (IA-32) выпусках семейства Windows NT с 1993 года эмуляция DOS обеспечивается посредством виртуальной машины DOS (NTVDM). 64-битные (IA-64) версии Windows не поддерживают NTVDM и не могут напрямую запускать 16-битные приложения DOS; сторонние эмуляторы, такие как DOSbox, могут использоваться для запуска программ DOS на этих машинах.

Пользовательский интерфейс [ править ]

Системы DOS используют интерфейс командной строки . Программа запускается путем ввода ее имени файла в командной строке. Системы DOS включают служебные программы и предоставляют внутренние команды, не соответствующие программам. [43]

В попытке обеспечить более удобную для пользователя среду многочисленные производители программного обеспечения написали программы управления файлами, которые предоставляли пользователям интерфейсы на основе меню и / или значков. становится автономным загрузчиком программ и заменяет DOS в качестве наиболее часто используемого загрузчика программ, совместимого с ПК. Программы текстового пользовательского интерфейса включали Norton Commander , DOS Navigator , Volkov Commander , Quarterdesk DESQview и Sidekick . Программы графического пользовательского интерфейса включали GEM компании Digital Research (изначально написанную для CP / M) и GEOS .

В конце концов, производители основных систем DOS начали включать своих собственных менеджеров среды. MS-DOS / IBM DOS 4 включала DOS Shell ; [44] DR DOS 5.0, выпущенный в следующем году, включал ViewMAX , основанный на GEM. [45]

Прекратить и остаться резидентом [ править ]

DOS - это не многозадачная операционная система. Однако DOS предоставляла функцию завершения и сохранения резидентности (TSR), которая позволяла программам оставаться резидентными в памяти. Эти программы могут подключать системный таймер и / или прерывания клавиатуры, чтобы позволить себе запускать задачи в фоновом режиме или быть вызванными в любое время, вытесняя текущую запущенную программу, эффективно реализуя простую форму многозадачности на основе конкретной программы. Команда PRINT сделала это для реализации буферизации фоновой печати. Borland Sidekick , всплывающий менеджер персональной информации (PIM), также использовал эту технику.

Программы Terminate и Stay Resident также использовались для предоставления дополнительных функций, недоступных по умолчанию. Такие программы, как CED и DOSKEY, предоставляли возможности редактирования командной строки помимо того, что было доступно в COMMAND.COM. Такие программы, как Microsoft CD-ROM Extensions (MSCDEX), обеспечивали доступ к файлам на дисках CD-ROM.

Некоторые TSR могут даже выполнять элементарную форму переключения задач. Например, условно-бесплатная программа Back and Forth (1990) [46] имела горячую клавишу для сохранения состояния запущенной в данный момент программы на диск, загрузки другой программы и переключения на нее, следовательно, можно было переключаться "вперед и назад". "между программами, хотя и медленно из-за необходимого доступа к диску. Однако Back and Forth не смогли включить фоновую обработку ; который нуждался в DESQview (по крайней мере, на 386 ).

Программное обеспечение [ править ]

Браузер Arachne
  • Arachne , 16-битный графический веб-браузер
  • dBase , программа базы данных
  • Harvard Graphics , программа для создания презентационной графики
  • Lotus 1-2-3 , электронная таблица , приписывают успех IBM PC. [47]
  • Norton Commander и XTree , утилиты для управления файлами
  • PKZIP , утилита сжатия, которая быстро стала стандартом в области сжатия файлов.
  • ProComm , Qmodem и Telix , модем коммуникационные программы
  • Sidekick , менеджер личной информации, который можно использовать из других программ.
  • WordPerfect , текстовый процессор , доминирующий в 1980-х годах.
  • WordStar , текстовый процессор, изначально предназначенный для CP / M, который стал популярным на IBM PC

Инструменты разработки [ править ]

  • Устные переводчики языка BASIC . BASICA и GW-BASIC
  • DJGPP , 32-разрядный порт DPMI DOS для gcc
  • Microsoft Macro Assembler , Microsoft C и CodeView от Microsoft
  • Watcom C / C ++ от Watcom
  • Turbo Pascal , Turbo BASIC , Turbo C , Turbo Prolog и Turbo Assembler от Borland

См. Также [ править ]

  • Список операционных систем DOS
  • COMMAND.COM (интерпретатор командной строки для DOS и Windows 9x )
  • DOS API
  • VGA-совместимый текстовый режим , основа TUI DOS на совместимых с IBM PC
  • DOS / V
  • Программа управления дисками  [ de ] (DCP, производная от MS-DOS бывшего восточногерманского VEB Robotron )
  • PC-MOS / 386 (DOS-совместимая многопользовательская операционная система)
  • CP / M (ранняя операционная система Digital Research, похожая на DOS)

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

  1. ^ Dictionary.com Архивировано 12 ноября 2017 г. на Wayback Machine
  2. ^ Мердок, Эверетт (1988). DOS - легкий путь . Загружаемые книги EasyWay. ISBN 0-923178-00-7.
  3. ^ a b c Роландер, Том . «Остальная часть истории: как Билл Гейтс победил Гэри Килдалла в войне ОС, часть 1» . Шоу Скобла (Интервью). Беседовал Скобл, Роберт. Архивировано из оригинала на 2007-11-04.
  4. ^ Бове, Тони (2005). Просто скажи «нет» Microsoft . Пресс без крахмала . стр.  9 -11. ISBN 1-59327-064-X.
  5. ^ a b Беллис, Мэри. "Необычная история MS-DOS Операционная система Microsoft" . Проверено 2 сентября 2008 .
  6. ^ Freiberger, Павел (1982-08-23). «Билл Гейтс, Microsoft и персональный компьютер IBM» . InfoWorld : 22. Архивировано 18 марта 2015 года . Проверено 29 января 2015 .
  7. ^ «Знаете ли вы, что OS / 2 не была первой многозадачной операционной системой Microsoft, отличной от Unix?» . Архивировано 4 ноября 2012 года.
  8. ^ "Биография Ларри Остермана" . Архивировано 2 июня 2013 года.
  9. ^ a b Летвин, Гордон (1995-08-17). «Что происходит с OS / 2» . Группа новостейcomp.os.os2.advocacy . Usenet: [email protected] . Проверено 6 ноября 2013 . 
  10. ^ Морган, Крис (январь 1982). «Об IBM, операционных системах и розеттских камнях» . БАЙТ : 6 . Проверено 19 октября 2013 .
  11. Перейти ↑ Fiedler, Ryan (октябрь 1983 г.). «Учебник по Unix / Часть 3: Unix на рынке микрокомпьютеров» . БАЙТ : 132 . Проверено 30 января 2015 .
  12. ^ Howitt, Доран (1984-12-10). «Unix и единственный пользователь» . InfoWorld : 28. Архивировано 29 января 2018 года . Проверено 7 февраля 2015 .
  13. ^ Поллак, Эндрю (1991-07-27). «Microsoft расширяет свой раскол с помощью IBM, а не программного обеспечения» . Нью-Йорк Таймс . Архивировано 2 ноября 2010 года . Проверено 2 сентября 2008 .
  14. ^ Бринкли, Джоэл (1999-05-28). «Представитель IBM описывает ценовое давление со стороны Microsoft» . Нью-Йорк Таймс . Архивировано 11 декабря 2008 года . Проверено 2 сентября 2008 .
  15. ^ Холл, Джим (2002-03-25). «Прошлое, настоящее и будущее проекта FreeDOS» . Архивировано из оригинала на 2012-05-29 . Проверено 14 июня 2008 .
  16. Холл, Джим (23 сентября 2006). «История FreeDOS» . freedos.org. Архивировано из оригинала на 2007-05-27 . Проверено 28 мая 2007 .
  17. ^ a b Баннан, Джеймс (13.10.2006). «КАК: Коаксиальные ретро-игры для DOS в Vista» . Архивировано 1 августа 2008 года . Проверено 3 июля 2008 .
  18. ^ «Поиск DOS в Windows 95» . Умные вычисления . Марта 1996 года в архив от оригинала на 2004-07-07 . Проверено 12 июля 2008 .
  19. Перейти ↑ Chen, Raymond (2007-12-24). «Какова была роль MS-DOS в Windows 95?» . Старая новая вещь - Домашняя страница сайта - Блоги MSDN . Архивировано 05 февраля 2014 года . Проверено 5 февраля 2014 .
  20. ^ «Описание перезагрузки компьютера в режиме MS-DOS» . support.microsoft.com . 2007-01-19. Архивировано 05 февраля 2014 года . Проверено 5 февраля 2014 .
  21. ^ http://rxdos.sourceforge.net/
  22. ^ Холл, Джим (2007-07-13). «Блог Джима Холла - 2007» . Архивировано из оригинала на 2012-10-25 . Проверено 12 июня 2008 .
  23. ^ «Компьютеры Dell с FreeDOS» . Архивировано из оригинала на 2008-03-19 . Проверено 14 июня 2008 .
  24. ^ «DR-DOS Embedded DOS» . Архивировано 21 декабря 2008 года . Проверено 26 сентября 2008 .
  25. ^ "Datalight DOS выбран для новой линейки цифровых фотоаппаратов Canon" . Деловой провод . 1999-08-24. Архивировано 09 июля 2012 года . Проверено 26 сентября 2008 .
  26. ^ a b "Информация о DOSBox" . Архивировано 25 мая 2008 года . Проверено 18 мая 2008 .
  27. ^ "DOSEMU Home" . 2007-05-05. Архивировано 23 июля 2008 года . Проверено 3 июля 2008 .
  28. ^ «Справка по пакетному файлу» . computerhope.com. Архивировано 07 сентября 2008 года . Проверено 10 сентября 2008 .
  29. ^ Matczynski, Майкл. «ZINGTECH - Путеводитель для программиста новых игр» . Архивировано 19 декабря 2008 года . Проверено 2 сентября 2008 .
  30. ^ «Основная загрузочная запись (MBR) и что она делает» . Архивировано 27 мая 2013 года. 090912 dewassoc.com
  31. ^ «Обратное проектирование DOS 1.0 - Часть 1: Загрузочный сектор« pagetable.com » . Архивировано 11 мая 2009 года. 090912 pagetable.com
  32. ^ "Команды CONFIG.SYS" . Архивировано 02 мая 2009 года. 090913 acade.evergreen.edu
  33. ^ Kozierok, Чарльз (2001). «Процесс загрузки DOS» . Руководство для ПК . Архивировано из оригинала на 2008-07-19 . Проверено 2 сентября 2008 .
  34. ^ "misc.txt" . Архивировано из оригинала на 2010-06-29. 090912 arl.wustl.edu
  35. ^ a b «Присвоение букв дисков и выбор основного и логического разделов» . Руководство для ПК . 2001-04-17. Архивировано 17 апреля 2012 года . Проверено 4 апреля 2012 .
  36. ^ "Уязвимость DoS имени устройства Microsoft Windows MS-DOS" . Архивировано из оригинала на 2011-07-25 . Проверено 2 сентября 2008 .
  37. ^ "Определение имен устройств DOS" . Журнал ПК . Архивировано 29 сентября 2008 года . Проверено 2 сентября 2008 .
  38. ^ a b c d «Имена драйверов устройств MS-DOS не могут использоваться в качестве имен файлов» . Редакция 2.0. Microsoft . 2003-05-12. KB74496, Q74496. Архивировано из оригинала на 2012-07-21.
  39. ^ a b c d e Hewlett-Packard - Справочное техническое руководство - Portable PLUS (1-е изд.). Корваллис, Орегон, США: Компания Hewlett-Packard , подразделение портативных компьютеров. Август 1985. 45559-90001 . Проверено 27 ноября 2016 .
  40. ^ a b c d e Hewlett-Packard - Справочное техническое руководство - Portable PLUS (PDF) (2-е изд.). Подразделение портативных компьютеров, Корваллис, Орегон, США: Компания Hewlett-Packard . Декабрь 1986 г. [август 1985 г.]. 45559-90006. Архивировано (PDF) из оригинала 28 ноября 2016 года . Проверено 27 ноября 2016 .
  41. ^ Патерсон, Тим ; Microsoft (19 декабря 2013 г.) [1983]. «Microsoft DOS V1.1 и V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM» . Музей истории компьютеров , Microsoft . Архивировано 26 марта 2014 года . Проверено 25 марта 2014 .(NB. Хотя издатели утверждают, что это будут MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и смесь Altos MS-DOS 2.11 и TeleVideo PC DOS 2.11 .)
  42. ^ Пол, Матиас Р. (1997-10-02). "Caldera OpenDOS 7.01 / 7.02 Обновление Alpha 3 IBMBIO.COM README.TXT" . Архивировано из оригинала на 2003-10-04 . Проверено 29 марта 2009 . [1]
  43. ^ Мердок, Эверетт (2008). DOS - легкий путь . Загружаемые книги EasyWay. С. 7–12. ISBN 978-0-923178-02-4.
  44. ^ Мердок, Эверетт (2008). DOS - легкий путь . Загружаемые книги EasyWay. п. 71. ISBN 978-0-923178-02-4. Архивировано 18 марта 2015 года.
  45. ^ Дворжак, Джон Чарльз ; Анис, Ник (1991). Руководство Дворжака по производительности DOS и ПК . Осборн МакГроу-Хилл . С. 442–444.
  46. ^ Версия 1.47 находится в архиве "Back and Forth 1.47" . Архивировано из оригинала на 2013-11-05 . Проверено 5 августа 2013 . и говорит: "(C) 1990 by Progressive Solutions, Inc."
  47. ^ Дэрроу, Барбара (2002-02-01). «Что случилось с Lotus 1-2-3?» . Архивировано из оригинала на 2009-01-09 . Проверено 12 июля 2008 .

Дальнейшее чтение [ править ]

  • IBM Corp., IBM (январь 1984 г.). "IBM DOS Release 2.10 Коробка из твердого картона в тканевом переплете". 1-е издание. Номер позиции IBM Corp. 6183946
  • IBM Corp., IBM (январь 1984 г.). «Руководство пользователя дисковой операционной системы (DOS версии 2.10)». 1-е издание. Microsoft Corp. (100 страниц, включая цветные иллюстрации) Номер позиции. 6183947
  • IBM Corp., IBM (январь 1984 г.). «Руководство по дисковой операционной системе (DOS версии 2.10)». 1-е издание. Microsoft Corp. (574 страницы с отрывными листами в папке с 3 кольцами) Арт. № 6183940

Внешние ссылки [ править ]

  • Истоки DOS , статьи и руководства Тима Патерсона.
  • Хронология версий DOS и Windows на Wayback Machine (архивировано 28 октября 2007 г.)
  • «DOS - там железо - единственный предел» . Архивировано из оригинала на 2010-08-15 . Проверено 29 августа 2010 .
  • Batfiles: Руководство по программированию пакетных файлов DOS
  • «Прикладное программное обеспечение - семейство коротких имен файлов DOS» . www.jumpjet.info . Проверено 7 февраля 2020 .«(...) Архив тщательно отобранных БЕСПЛАТНЫХ [и заброшенных ] программ для DOS».