Супервизор ввода-вывода.

Управление вводом-выводом осуществляется компонентом ОС, который часто называют супервизором ввода-вывода. Основные задачи, возлагаемые на супервизор:

1) Модуль супервизора ОС, иногда называемый супервизором задач, получает запросы от прикладных задач на выполнение тех или иных операций, а том числе на ввод-вывод. Эти запросы. Эти запросы проверяются на корректность и, если они соответствуют спецификациям и не содержат ошибок, то обрабатываются дальше. В противном случае пользователю(задаче) выдается соответствующее диагностическое сообщение о недействительности(некорректности) запроса.

2) Супервизор ввода-вывода получает запросы на ввод-вывод от супервизора задач или от программных модулей самой Ос.

3) Супервизор ввода-вывода соответствующие распределители каналов и контроллеров, планирует ввод-вывод(определяет очередность предоставления устройств ввода-вывода задачам, затребовавшим эти устройства). Запрос на ввод0вывод либо тут же выполняется, либо ставится в очередь на выполнение.

4) Супервизор ввода-вывода инициирует операции ввода-вывода( передает управление соответствующим драйверам) и в случае управления вводом-выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение.

5) При получении сигналов прерываний от устройств ввода-вывода супервизор идентифицирует эти сигналы и передает управление соответствующим программам обработки прерываний.

6) Супервизор ввода-вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе операции управления ввода-вывода.

7) Супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции.

В случае, если устройство ввода-вывода является инициативным, управление со стороны супервизора ввода-вывода будет заключаться в активизации соответствующего вычислительного процесса(перевод его в состояние готовности к выполнению).

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