Операционная система (ОС) MS-DOS является самой распространенной ОС для использования на $16$-разрядных ПК (персональный компьютер). При этом ОС MS-DOS обладает развитыми средствами доступа ко всем аппаратным компонентам, кроме того, имеет достаточно гибкую файловую систему, которая основана на использовании иерархической структуры каталогов, и удобный командный язык.
Последней версией ОС является MS-DOS $6.22$. Средства, которые предоставляются ОС данного класса, позволяют сформировать удобную операционную среду, используемую для разработки программного обеспечения (ПО). Кроме того, на основе средств, предоставляемых ОС MS-DOS, довольно просто можно разрабатывать автоматизированные рабочие места (АРМ), обладающие простыми средствами доступа к прикладным пакетам и программам.
ОС MS-DOS включает следующие основные компоненты:
- программы, которые управляют файловой системой и планируют задания для ПК;
- программы для управления вводом-выводом;
- процессор командного языка, принимающий, анализирующий и выполняющий команды, которые адресованы ОС.
Важнейшим достоинством ОС MS-DOS является ее модульная структура. Данное свойство дает возможность изолировать друг от друга отдельные части этой достаточно большой и сложной системы, при этом давая возможность облегчить ее разработку, а также объединить в каждом отдельном модуле определенные логически связанные группы функций. В случае возникновения необходимости в замене или расширении некоторой группы функций, это можно сделать посредством замены или модификации только одного конкретного модуля, а не всей ОС.
ОС MS-DOS состоит из основных модулей, список которых приведен ниже:
- базовая система ввода/вывода (BIOS);
- системный загрузчик SB, который располагается в блоке начальной загрузки (Boot Record);
- модуль расширения базовой системы ввода/вывода (расположен в скрытом файле IO.SYS);
- модуль обработки прерываний (находится в скрытом файле MSDOS.SYS);
- командный процессор (файл COMMAND.COM);
- утилиты MS-DOS;
- драйвера устройств (располагаются на диске в виде файлов).
Каждый из приведенных выше модулей выполняет некоторую определенную часть функций, которые возложены на ОС MS-DOS. Места постоянного размещения данных модулей различны, например, базовая система ввода/вывода располагается в постоянном запоминающем устройстве (ПЗУ), а не на диске, как все остальные модули.
Базовая система ввода/вывода осуществляет наиболее простые и универсальные услуги ОС, которые связаны с выполнением операций ввода-вывода.
Функции BIOS
- автоматическое тестирование основных компонент ПК при его включении;
- вызов блока первоначальной загрузки ОС с диска (после загрузки в оперативную память (ОЗУ) загрузчика BIOS передает управление данному блоку, после чего он выполняет загрузку других модулей ОС);
- обслуживание прерываний (системой прерываний называется совокупность аппаратных и программных средств, которые обеспечивают процесс переключения с выполнения одной программы на другую и последующий возврат к продолжению прерванной программы за счет операций процессора, которые называются прерываниями).
Блок начальной загрузки (загрузчик) – это очень короткая программа, единственной функцией которой является считывание с диска в ОЗУ двух других частей MS-DOS, а именно модуля обработки прерываний и модуля расширения базовой системы ввода/вывода.
Загрузчик просматривает каталог гибкого диска «А:», а при его отсутствии просматривает каталог диска «С:». После того как он убедится, что первые два файла на диске являются модулями IO.SYS и MSDOS.SYS, считывает их в оперативную память ПК. Отметим, что файлы IO.SYS и MSDOS.SYS всегда размещаются на диске первыми, что определяет диск в качестве системного. Данные файлы снабжены специальным атрибутом файла, делающим их «невидимым» (скрытыми).
Модуль расширения базовой системы ввода/вывода позволяет использовать дополнительные драйвера, обслуживающие новые внешние устройства, а также драйвера для нестандартного обслуживания различных внешних устройств.
Модуль обработки прерываний позволяет реализовать основные высокоуровневые услуги ОС MS-DOS, вследствие чего его называют основным. Модуль обработки прерываний образует верхний уровень операционной системы, с которым осуществляет взаимодействие большинство прикладных программ. Компоненты модуля обработки прерываний – это программы, которые:
- обеспечивают работу файловой системы;
- обеспечивают работу устройств ввода/вывода (клавиатура, принтер, дисплей, порты);
- обеспечивают обслуживание некоторых ситуаций, которые связаны с завершением программ, их принудительным прерыванием, а также обработкой ошибок.
Командный процессор может занимать любое место на диске и является выполнимой программой. Командный процессор осуществляет выполнение следующих функций:
- прием и разбор команд, которые получены из командного файла или с клавиатуры;
- выполнение встроенных команд ОС MS-DOS, которые находятся внутри файла COMMAND.COM;
- загрузка и выполнение внешних команд ОС MS-DOS (т.е. утилит) и прикладных программ, которые реализованы в виде файлов с расширением .com и .ехе.
При загрузке в ОЗУ командный процессор делится на две части:
- резидентная часть (постоянно размещается в ОЗУ и содержит подпрограммы для стандартной обработки прерываний с номерами $22h...24h$, программу подзагрузки нерезидентной части в оперативную память и подпрограмму инициализации, обрабатывающую файл автозапуска «autoexec.bat» при запуске ПК);
- нерезидентная часть (периодически изменяется посредством передачи данных между оперативной памятью и диском).
Некоторые команды (например, TYPE, DIR и др.) командный процессор выполняет сам, такие команды называют внутренними. Для выполнения остальных команд (внешних) командный процессор ищет на диске программу с соответствующим именем, и в случае удачного результата, загружает ее в ОЗУ и передает управление. По окончании работы данной программы командный процессор удаляет ее из памяти и выводит сообщение о готовности к дальнейшему выполнению команд.
Внутренние команды по способу ввода их в ПК можно разделить на два типа:
- клавишные (команда подается при нажатии определенных клавиш и выполняется незамедлительно, например, Esc – отказ от выполнения задания);
- строковые (команда подается путем набора в командной строке ее кода и исполняется после нажатия клавиши $$).
Внешние команды ОС реализуются программами, хранящимися на диске в виде отдельных файлов. При этом внешние команды могут быть расположены на любом диске, поэтому для выполнения этих команд необходимо указывать маршрут их поиска. В состав ОС MS-DOS входит около $400$ программ, которые предназначены для различных целей. Например:
- FORMAT.COM - форматирование гибких дисков;
- GRAPHICS.COM – подготовка к печати графических копий экрана;
- и др.
Утилиты MS-DOS – это программы, которые поставляются вместе с ОС в виде отдельных файлов, выполняющие действия обслуживающего характера (например, разметка дискет, проверка дисков и др.).
Драйверы устройств – это специальные программы, которые позволяют дополнить систему ввода/вывода и обеспечить обслуживание дополнительных внешних устройств. Драйверы устройств хранятся в виде файлов, которые имеют имена с расширением .SYS. Драйвера загружаются в ОЗУ компьютера при загрузке ОС, при этом необходимость и порядок загрузки драйверов указаны в специальном файле CONFIG.SYS. Подобное подключение драйверов облегчает процесс добавления новых устройств к ПК и позволяет делать этот процесс, без затрагивания системных файлов IO.SYS и MSDOS.SYS.
Процесс запуска компьютера и подготовки ОС MS-DOS к дальнейшей работе включает следующие этапы:
- При включении компьютера управление передается подсистеме BIOS, которая осуществляет тестирование памяти, проверку состояния аппаратуры и инициализирует устройства ПК. Параметры конфигурации ЭВМ извлекаются из энергонезависимой памяти (CMOS)..
- Управление конфигурацией ПК (выполняется посредством программы Setup).
- Вызов системного загрузчика, загрузка ОС MS-DOS с его помощью.
- Установка драйверов, задание путей поиска файлов, окружения, числа одновременно открываемых файлов, числа буферов, кодовой таблицы и др. (выполнение осуществляется с помощью файла автозапуска «autoexec.bat» и файла конфигурации «config.sys»).
Рисунок 1. Взаимодействие прикладных программа с аппаратно-программным обеспечением ПК