Таблица оборудования, таблица логических имен, таблица прерываний.
- Таблица оборудования содержит полную информацию о всех устройствах ввода/вывода, которые имеются в установке. Она состоит из ряда блоков UCB, каждый из которых описывает одно реальное устройство. Каждый блок содержит тип устройства, модель, символическое имя и все характеристики данного устройства, интерфейс с помощью которого устройство подключено (порт, разъем…), драйвера обслуживающие данное устройство. Указывается используется ли буферизация да/нет. Установка таймера (т.е максимальное время по истечении которого, устройство должно выдавать состояние готовности).
- Таблица логических имен. С помощью нее обеспечивается один из главных принципов ОС, а именно принципы независимости от логических устройств. Идея заключается в том, что пользователь не должен знать характеристики устройства к которому обращается и не должен знать физические устройства. Таблица содержит список логических устройств к которому обращаются пользователи. Каждое такое логическое имя должно обеспечиваться ссылкой на таблицу оборудования, т.е. на один из блоков UCB.
- Таблица прерываний. Она указывает какой сигнал прерываний сопоставим конкретному устройству. Она так же представляет собой список возможных прерываний с указанием на соответствующий UCB.
|
|
Лекция 9.
Номера регистрируют последовательность шагов.
Шаг 1. прикладная программа (не принадлежащая ОС) реализующая процесс выдает запрос на ввод/вывод. Супервизор проверяет корректность запроса, если корректна, то программе выдается сообщение об ошибке (1’), если запрос корректен, то переходит к шагу 2.
Шаг 2. с помощью таблицы логических имен супервизор в таблице UCB находит соответствующий элемент UCB, т.е фактически находит физическое устройство, которое должно реализовывать данный запрос. Если устройство занято другой прикладной программой, то запрос ставится в состояние «ожидания», если же устройство свободно, то следует обращение к препроцессору ввода/вывода. Действие 3.
Шаг 3. препроцессор ввода/вывода генерирует последовательность необходимых кодов для устройства ввода/вывода и подбирает необходимые данные для этого устройства (служебная информация).
Шаг 4-5. препроцессор через таблицу UCB запускает драйвер устройства.
Шаг 6. Драйвер запускает устройство ввода/ вывода и передает правление на диспетчер процессов (6`) для того чтобы диспетчер процессов поставил на процессор новый процесс, который готов к исполнению. Когда устройство ввода/вывода выполнит команду оно выдает сигнал готовности супервизору прерываний.
|
|
Шаг 7-8. Супервизор прерываний используя таблицу прерываний обращается к драйверу устройств, а именно в секцию продолжения, которая реализует обработку прерываний и если никаких других команд для исполнения данного запроса устройству подавать не нужно, то драйвер обращается к диспетчеру процессов (действие 9), с тем чтобы он вновь предоставил процессор любому другому процессу готовому к исполнению.
Шаг 9-10. Операция завершена. Если же драйвер определил, что для устройства запрос до конца не выполнен, то драйвер выделяет определенную команду устройству.
Лекция 10.
ТЕМА 3