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

Таблица оборудования, таблица логических имен, таблица прерываний.

 

  1. Таблица оборудования содержит полную информацию о всех устройствах ввода/вывода, которые имеются в установке. Она состоит из ряда блоков UCB, каждый из которых описывает одно реальное устройство. Каждый блок содержит тип устройства, модель, символическое имя и все характеристики данного устройства, интерфейс с помощью которого устройство подключено (порт, разъем…), драйвера обслуживающие данное устройство. Указывается используется ли буферизация да/нет. Установка таймера (т.е максимальное время по истечении которого, устройство должно выдавать состояние готовности).
  2. Таблица логических имен. С помощью нее обеспечивается один из главных принципов ОС, а именно принципы независимости от логических устройств. Идея заключается в том, что пользователь не должен знать характеристики устройства к которому обращается и не должен знать физические устройства. Таблица содержит список логических устройств к которому обращаются пользователи. Каждое такое логическое имя должно обеспечиваться ссылкой на таблицу оборудования, т.е. на один из блоков UCB.
  3. Таблица прерываний. Она указывает какой сигнал прерываний сопоставим конкретному устройству. Она так же представляет собой список возможных прерываний с указанием на соответствующий UCB.

 

 

 

Лекция 9.

Номера регистрируют последовательность шагов.

Шаг 1. прикладная программа (не принадлежащая ОС) реализующая процесс выдает запрос на ввод/вывод. Супервизор проверяет корректность запроса, если корректна, то программе выдается сообщение об ошибке (1’), если запрос корректен, то переходит к шагу 2.

 

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

 

Шаг 3. препроцессор ввода/вывода генерирует последовательность необходимых кодов для устройства ввода/вывода и подбирает необходимые данные для этого устройства (служебная информация).

 

Шаг 4-5. препроцессор через таблицу UCB запускает драйвер устройства.

 

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

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

 

Шаг 9-10. Операция завершена. Если же драйвер определил, что для устройства запрос до конца не выполнен, то драйвер выделяет определенную команду устройству.

 

Лекция 10.

ТЕМА 3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: