Драйверы подсистемы ввода-вывода:
– накопители на гибких и жестких магнитных дисках;
– дисплея и клавиатуры;
– принтера; адаптеров интерфейсов (последовательных и параллельных портов);
– фиктивного устройства (вывод в это устройство воспринимается, но данные отбрасываются; при попытке ввода с этого устройства немедленно опознается конец файла);
– виртуального диска (имитатора в оперативной памяти реального диска);
– расширенной, отображаемой, высокой и верхней памяти;
– подсистемы управления энергопотреблением;
– подсистемы межкомпьютерной связи;
– для управления сжатыми дисками;
– кэширования дисков;
– подмены версии DOS.
Часто к DOS могут подключаться не входящие в состав системы внешние драйверы, в частности, драйвер манипулятора типа ''мышь''.
NSB, SB и подсистема ввода-вывода образуют машинозависимую часть DOS.
BM-DOS – это центральный компонент DOS, реализующий основные функции операционной системы.
Управление ПУ с помощью BM DOS осуществляется на более высоком уровне, чем управление посредством драйверов на основе организации обращений к драйверам. Именно здесь находится файловая система, обеспечивающая выполнение операций над файлами. Основание этой системы образует подсистема ввода-вывода. Файловая система является наиболее развитой функциональной частью DOS.
Основу BM DOS составляют обработчики прерываний верхнего уровня. Обращение к BM DOS возможно только через механизм прерываний. Именно прерывания верхнего уровня выдают большинство программ, работающих под управлением DOS. Обработчики этих прерываний, в свою очередь, могут генерировать прерывания нижнего уровня.
Компоненты подсистемы ввода-вывода, загружаемые с диска, и BM DOS в процессе работы системы находятся в оперативной памяти постоянно (резидентно).
В то время как BIOS, EM BIOS и BM DOS в совокупности управляют ресурсами компьютера, интерпретатор команд CI отвечает за поддержку пользовательского интерфейса DOS.
Пользователь общается с системой путем передачи ей команд, которые она в состоянии проинтерпретировать. Под командой традиционно понимается указание на выполнение некоторого действия.
Файл автозапуска AUTOEXEC.BAT, исполняемый CI в процессе загрузки системы, включает команды DOS и запросы на выполнение программ, которые пользователь должен регулярно выдавать после запуска DOS в работу (например для загрузки резидентных программ). Это освобождает пользователя от частого выполнения рутинных операций. Если файл AUTOEXEC.BAT отсутствует, то CI выдает запросы на установку даты и времени.
CI состоит из двух модулей: резидентного и транзитного.
Резидентный модуль хранится после запуска DOS в оперативной памяти постоянно и включает обработчики трех важных прерываний, а также код подгрузки транзитного модуля CI.
Транзитный (нерезидентный) модуль может перекрываться в оперативной памяти выполняемыми программами, а затем восстанавливаться путем считывания с диска. Этот модуль содержит исполнитель так называемых внутренних команд DOS и загрузчик программ в оперативную память для выполнения.
Внутренними являются команды DOS, которые обычно используются чаще других.
Доступ к CI осуществляется по прерываниям от клавиатуры и другим программным прерываниям, которые он обслуживает.
Дополнительно к тому, что уже отмечалось, EM BIOS, BM DOS и CI содержат коды инициализаций, выполняемые только при загрузке DOS и затем уничтожаемые для освобождения памяти.
Утилиты – это обслуживающие программы, которые предоставляют пользователю сервисные услуги. Утилиты DOS делятся на две категории:
1) не диалоговые утилиты, к которым относятся также утилиты, способные выдавать пользователю ряд простых запросов, но не поддерживающие высокоразвитый пользовательский интерфейс;
2) интерактивные утилиты, имеющие развитый полноэкранный, организованный в виде меню интерфейс.
Очевидно, выполненное разделение весьма условно, но без него трудно отдать дань традиции в трактовке внешней команды DOS.
Внешней командой DOS считают команду, реализуемую утилитами первой или второй категории, но в не диалоговом режиме. Внешней команда именуется потому, что она реализуется не CI, а отдельной программой – утилитой. Внешние команды дополняют пользовательский интерфейс системы. DOS имеет вполне определенный перечень внешних команд.
Оболочка MS-DOS Shell – это надстройка над CI, внешне напоминающая Windows, которая упрощает работу пользователя в среде DOS и предоставляет ему ряд дополнительных возможностей.
Достоинствами оболочки MS-DOS Shell являются:
- возможность выделения файлов для групповых операций в различных каталогах, применения групповых операций к найденным файлам;
- поддержка создания и использования высокоразвитого меню программ;
- обеспечение переключения задач;
- компактность резидентного кода (около 4,5 кбайт).
Недостатки MS-DOS Shell:
- отсутствие поддержки манипулирования поддеревьями файловой структуры;
- невозможность работы с архивами;
- слабые средства визуализации файлов.
Несмотря на наличие неоспоримых достоинств, оболочка MS-DOS Shell не пользуется заметной популярностью.
К инструментальным средствам DOS принадлежат:
- система программирования MS-DOS QBasic (Quick Basic), построенная на основе интерпретации;
- отладчик Debug, позволяющий тестировать и отлаживать исполняемые файлы;
- текстовый редактор MS-DOS Editor, обеспечивающий подготовку исходных программ, а также простых текстовых доку-ментов.
BM DOS, CI, утилиты, оболочка и инструментальные средства DOS составляют ее машинонезависимую часть. Конечно, понятие "машинонезависимость" весьма условно, поскольку в любом случае необходим микропроцессор, совместимый с микропроцессором 8086/88 фирмы Intel. Именно эти и более совершенные микропроцессоры применяются в IBM-совместимых ПК.
Не все компоненты DOS, размещаемые в файлах, необходимы для того, чтобы DOS была в состоянии работать. Их отсутствие лишь ограничивает функциональные возможности системы.
Минимальная конфигурация MS-DOS включает: EM BIOS (файл IO.SYS), BM DOS (файл MSDOS.SYS) и CI (файл COMMAND.COM), если не принимать во внимание BIOS, NSB и BR.
Ограничения, накладываемые на структуру системного диска:
− файлы IO.SYS и MSDOS.SYS регистрируется на первой и второй позициях корневого каталога системного диска соответственно (первой здесь считается позиция элемента корневого каталога, следующая за стандартным обязательным элементом, обозначаемым точкой);
− файл COMMAND.COM находится в любом месте корневого каталога системного диска;
− если имеются файлы DBLSPACE.BIN, CONFIG.SYS и AUTOEXEC.BAT, то они также должны содержаться в корневом каталоге системного диска.
Если в файле CONFIG.SYS сделать специальное указание командой SHELL, то файл COMMAND.COM можно разместить в любом каталоге системного диска или любом другом месте диска, если он доступен (является "установленным") во время загрузки DOS.
Остальные файлы DOS могут располагаться в любых каталогах каких угодно дисков. Однако необходимо хранить их в единственном каталоге жесткого диска.
Приведенные ограничения справедливы только в том случае, когда системный диск не сжат компрессором DoubleSpace. Если эта операция произведена, то в корневом каталоге несжатой части системного диска должны оставаться только файлы IO.SYS, MSDOS.SYS и DBLSPACE.BIN, а также еще не упоминавшийся файл конфигурации компрессора, создаваемый им автоматически и имеющий имя DBLSPACE.INI. Файлы COMMAND.COM, CONFIG.SYS и AUTOEXEC.BAT будут считываться из корневого каталога соответствующего сжатого логического диска, поэтому они обязаны находиться именно в нем, если в каждом из данных файлов есть необходимость. Объясняется это тем, что после подключения к системе драйвера DBLSPACE.BIN имя привода, закрепленное за системным диском, присваивается сжатому логическому диску, а сам системный диск получает другое имя. Например, если загрузка производится с диска С:\ и он сжат компрессором DoubleSpace, то при подключении драйвера DBLSPACE.BIN имя С:\ получает сжатый диск, созданный на диске C:\, и загрузка естественным образом продолжается с него.
Несмотря на сказанное, необходимо хранить копии файлов COMMAND.COM, CONFIG.SYS и AUTOEXEC.BAT также и в корневом каталоге несжатой части системного диска. Если последняя рекомендация выполнена, то ПК можно будет загрузить даже тогда, когда доступ к сжатому логическому диску становится невозможным в случае возникновения на нем логических дефектов. После загрузки DOS недоступность сжатого логического диска станет очевидной, и пользователь сможет предпринять адекватные возникшей ситуации меры.
3.3 Операционная система MS-DOS
3.3.1 Логическая структура дисков
Все винчестеры и флоппи-диски, поддерживаемые MS-DОS, за рядом исключений имеют сходный логический формат.
Под логическим форматом понимается то, что на диске резервируются определенные области для хранения служебной информации, необходимой операционной системе для работы с этим устройством.
Процесс создания и заполнения этих областей носит название логического форматирования.
Для создания логической структуры диска используются специальные программы, входящие обычно в состав операционной системы или существующие как независимые утилиты. Содержимое создаваемых областей может полностью или частично заполняться и изменяться не только во время форматирования, но и в процессе последующей работы с данным диском.
3.3.1.1 Логическая структура гибкого магнитного диска
Практически каждый диск содержит следующие области: загрузочная запись или сектор BR (Boot Record), две (одну) таблицы размещения файлов (FAT – File Allocation Table), корневой каталог RD (Root Directory) и область данных DA (Data Area) (рис. 3.7, 3.8).
Рис. 3.7. Логическая структура гибкого магнитного диска