СТРУКТУРА DOS
1. Базовая система ввода-вывода (BIOS)
2. Блок начальной загрузки (Boot Record)
3. Модуль расширения базовой системы ввода-вывода (IO.SYS)
4. Модуль обработки прерываний (MSDOS.SYS)
5. Командный процессор (COMMAND.COM)
6. Утилиты DOS
7. Процесс загрузки DOS
8. Процесс загрузки и инициализации DOS
Модуль расширения базовой системы ввода-вывода (IO.SYS)
Базовая система ввода/вывода, находящаяся в постоянном запоминающем устройстве (BIOS), является инвариантной по отношению к операционной системе, устанавливаемой на данной машине. В этом смысл BIOS является общей и неизменяемой частью всех возможных операционных систем для данной модели ПЭВМ. Изменение BIOS - нетривиальная задача, поскольку она очень тесно связана с особенностями аппаратуры конкретной модели ПЭВМ.Расширение BIOS с помощью дополнительного модуля DOS IO.SYS придает гибкость операционной системе, позволяя управлять с ее помощью таким набором аппаратных средств ПЭВМ, который наиболее точно соответствовал бы замыслу разработчиков операционной системы. Этот модуль относительно легко может модифицироваться разработчиками с учетом нужд конкретной версии DOS.
Использование механизма прерываний позволяет, с одной стороны, очень просто и изящно "перекрывать" в модуле расширения базовой системы функции, обслуживаемые BIOS. С другой стороны, появляется возможность включения в BIOS дополнительных подпрограмм, обслуживающих новые внешние устройства (драйверов). Драйверы разрабатываются не только для новых внешних устройств, но и для тех, которые стандартно входят в состав аппаратуры, - в тех случаях, когда обмен информацией с ними должен происходить иначе, чем принято в стандартной версии DOS. Это придает системе большую гибкость и возможность адаптации ее под любые требования пользователей.
О необходимости подключения новых драйверов внешних устройств, а также об изменении других параметров DOS уведомляется через файл конфигурации CONFIG.SYS. Этот текстовый файл обрабатывается модулем расширения IO.SYS, который осуществляет необходимую подстройку прерываний и других параметров DOS в соответствии с заданными в CONFIG.SYS командами конфигурирования. Команды конфигурирования могут указывать:
1. Дополнительные драйверы, которые необходимо подключить к ДОС. Простой пример:
DEVICE=MOUSE.SYS.
Команд такого типа в CONFIG.SYS может быть несколько.
2. Режим, при котором пользователь будет иметь возможность прервать любую работающую программу, дав команду BREAK (нажав на клавиатуре комбинацию клавиш CtrH- Break). В файле CONFIG.SYS установка указанного режима отображается выражением:
BREAK=ON.
3. Количество файлов, которые могут быть открыты одновременно. Пример команды конфигурирования, устанавливающей число одновременно открытых файлов:
FILES=20.
4. Количество буферов для обмена информацией с дисковыми накопителями. Пример соответствующей команды:
BUFFERS=8.
5. Имя файла, который будет играть роль нестандартного командного процессора (вместо стандартного файла COMMAND.COM). Пример команды, задающей новый командный процессор с именем START. СОМ:
SHELL=START.COM.
Таким образом, с помощью команд конфигурирования, заданных в файле CONFIG.SYS, пользователь может задать собственные, нестандартные возможности, которые вводятся в DOS на время текущего сеанса (до очередного перезапуска машины).
Кроме рассмотренных выше функций, па модуль IO.SYS возлагается еще одна задача - завершение загрузки DOS в оперативную память. С этой целью модуль расширения сначала передает управление на загруженный к этому моменту в оперативную память модуль обработки прерываний DOS, в котором устанавливаются внутренние рабочие таблицы, инициируются векторы прерываний с номерами 32-39 и производится подготовка к загрузке командного процессора, находящегося пока на системном диске. После этого управление возвращается в модуль IO.SYS, который производит загрузку командного процессора с диска в оперативную память и передает ему управление. На этом работа модуля IO.SYS при запуске DOS завершается.
Copyright ©