Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_4.ppt
Скачиваний:
252
Добавлен:
11.04.2015
Размер:
5.04 Mб
Скачать

4.2.8. Основные системные таблицы ввода вывода

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

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

Операционные системы

111

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

Операционные системы

112

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

Шаг 1. Запрос на операцию ввода-вывода от выполняющейся программы поступает на супервизор задач.

Этот запрос представляет собой обращение к операционной системе и указывает на конкретную функцию API.

Вызов сопровождается некоторыми параметрами, уточняющими требуемую операцию.

Модуль операционной системы, принимающий от процессов запросы на те или иные действия, часто называют супервизором задач ( Не путать с диспетчером задач!).

Операционные системы

113

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

Шаг 1-1. Супервизор задач проверяет системный вызов на соответствие принятым спецификациям и в случае ошибки возвращает задаче соответствующее сообщение.

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

Операционные системы

114

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

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

Шаг 3. Если же устройство свободно, то супервизор ввода-вывода определяет из UCB тип устройства и при необходимости запускает препроцессор, позволяющий получить последовательность управляющих кодов и данных, которую сможет правильно понять и отработать устройство.

Операционные системы

115

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

Шаг 4. Когда «программа» управления операцией ввода-вывода будет готова, супервизор ввода-вывода передает управление соответствующему драйверу на секцию запуска.

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

Операционные системы

116

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

Шаг 6. Когда устройство ввода-вывода отработает посланную ему команду, оно выставляет сигнал запроса на прерывание, по которому через таблицу прерываний управление передается на секцию продолжения.

Получив новую команду, устройство вновь начинает ее обрабатывать, а управление процессором опять передается диспетчеру задач, и процессор продолжает выполнять полезную работу.

Операционные системы

117

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

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

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

Операционные системы

118

4.2.8. Основные системные таблицы ввода вывода

Процесс управления вводом-выводом

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

Операционные системы

119

4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода

Операция ввода-вывода может выполняться по отношению к программному модулю, запросившему операцию, в синхронном или асинхронном режимах.

Синхронный режим означает, что процесс,

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

Операционные системы

120

Соседние файлы в папке ОС