Добавил:
vk.com/timelordru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БОС Ekzamen.docx
Скачиваний:
12
Добавлен:
02.06.2024
Размер:
5.98 Mб
Скачать

15 Билет

15. Структура и функции подсистемы ввода-вывода. Принципы работы диспетчера ввода-вывода и диспетчера Plug’n’Play.

Функции подсистемы управления устройствами ввода-вывода:

• Организация параллельной работы устройств ввода-вывода и процессора.

Контроллер берёт на себя управление устройством, работа контроллера проходит независимо от ОС в периоды между выдачами команд. Подсистема ввода-вывода в реальном масштабе времени планирует запуск и приостановку различных драйверов, обеспечивая приемлемое время реакции каждого драйвера на независимые события контроллера.

• Согласование скоростей обмена и кэширование данных.

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

• Разделение устройств между процессами

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

• Обеспечение удобного логического интерфейса между устройствами и остальной частью ОС.

Основа логического интерфейса – файловая модель периферийных устройств (виртуальные устройства). • Файловая модель – любое устройство представляется последовательным набором байт, с которым можно работать при помощи системных вызовов (например, записывать данные, направляемые этому устройству).

• Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера.

Типы интерфейсов для драйверов: • DKI – интерфейс «драйвер-ядро» (обязательно должен быть стандартизирован); • DDI – интерфейс «драйвер-устройство» (должен быть стандартизирован при запрете в системе непосредственного взаимодействия драйвера с устройством). • Запрет на прямое взаимодействие приводит к независимости драйвера от аппаратуры ПК. • Для устройств разных классов интерфейсы DKI/DDI могут быть различны.

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

Синхронный режим – процесс приостанавливает свою работу, пока не будет завершена операция вводавывода. • Асинхронный режим – процесс продолжает выполняться одновременно

• Динамическая загрузка и выгрузка драйверов.

• Поддержка нескольких файловых систем.

Общая схема (Структура) управления устройствами ввода-вывода:

  • системные вызовы ввода-вывода - переадресация пользовательских запросов драйверам соответствующих устройств ввода-вывода и возвращение результатов.

  • системные сервисы ввода-вывода - диспетчер ввода-вывода, диспетчер Plug and Play. Задачи: создание внутреннего интерфейса, облегчающего взаимодействие компонентов подсистемы друг с другом

  • высокоуровневые драйверы, независящие от аппаратуры

  • низкоуровневые (аппаратные) драйверы (Драйвер – системный программный модуль, управляющий устройством)

  • диспетчер прерываний

  • контроллеры устройств - независимость драйверов от аппаратной платформы (Контроллер - специализированный блок управления устройством вводавывода).

  • устройства

Диспетчер ввода-вывода определяет модель доставки запросов на ввод-вывод устройств:

    1. Создает IRP (ай эр пи) (пакет запроса ввода-вывода)

    2. Передает соответствующему драйверу указатель на IRP.

    3. Удаляет пакет по завершении операции ввода-вывода

Структура IRP:

- тип и размер запроса;

- указатель на буфер, если ввод-вывод с использованием буфера;

- данные о состоянии запроса, изменяющиеся по мере обработки запроса;

- сведения о синхронности или асинхронности запроса

(Синхронное - при каждом запуске программы прерывание произойдёт при выполнении одной и той же команды.

Асинхронное - при каждом запуске программы прерывание может произойти при выполнении любой команды или не произойти вообще).

Plug and Play - технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах. Объектами являются внешние устройства и программы.

Функции:

•Автоматическое распознавание установленных устройств (перечисление при загрузке и обнаружение или удаление во время работы системы).

•Выделение аппаратных ресурсов и их перераспределение (прерывания, диапазоны адресов ввода-вывода и т.д.).

•Загрузка драйверов соответствующих устройств.

•Позволяет приложениям и драйверам обнаруживать изменения в аппаратной конфигурации.

Запросы диспетчера Plug and Play драйверам устройств

• Запрос описания устройств, обнаруженных на шинах, соответствующим драйверам шин.

• Запрос процедуры добавления устройства драйверам устройства.

• Запрос на запуск устройства с указанием ресурсов, назначенным устройству.

• Запрос на проверку возможности отключения устройства.

• Запрос на отключение устройства.

• Запрос на проверку возможности временной приостановки работы устройства при перераспределении ресурсов.

• Запрос на временную приостановку устройства.

• Запрос на немедленное прекращение работы драйвера при неожиданном удалении устройства.