Режимы управления вводом выводом
В многопользовательских системах таких таблиц нет : одна общая и по одной на каждого пользователя.
3 таблица прерывания, которая для всех сигналов прерывания указывает тот или иной элемент 1 таблицы, который описывает устройство выполняющее эту линию прерывания. Эта таблица может в явном виде не присутствовать поскольку может из основной таблицы прерываний попасть на драйвер, именующий связи с элементом UCB.
Наличие связи между таблицами 1 и 3 .
Взаимосвязь изображают так:
|
||||||
|
|
|||||
|
||||||
Управление вводом/выводом состоит в выполнении следующих действий :
Запрос на операции ввода/вывода от выполняющейся программы
поступает в ядро операционной системы . Оно проверяет вызов на правильность и при
отсутствии ошибок пересылает его в подсистему ввода/вывода.
Процесс ввода/вывода по логическому имени с помощью таблицы логических имен находит соответствующий элемент UCBтаблицы оборудования. Если устройство занято ,то дескриптор задачи от которой поступил запрос на ввод/вывод помещается в очередь ожидающих устройств. Если устройство свободно, то подсистема определяет по UCBтип устройства и передает управление соответствующему драйверу на секцию запуска. Драйвер инициализирует оптимизацию управления и возвращает управление диспетчеру задач , чтобы он поставил на процессор готовую к исполнению задачу , Когда устройство ввода/вывода обрабатывает команду оно поставляет запрос на прерывание , по которому через таблицу прерывания управление передается на секцию продолжения , получив новую команду устройство начинает её обрабатывать, а управление процессом передается диспетчеру задач и процессор продолжает полезную работу.
Таким образом осуществляется параллельное выполнение задач на фоне которого происходит управление операциями ввода/вывода.
предыдущаяследующая