Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
IO.SYS Печать

Модуль расширения базовой системы ввода-вывода (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 завершается.