Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_ОС_П+И_2012.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
413.07 Кб
Скачать

Работа подсистемы по ввода – вывода

В приложении сформирован запрос на выполнение операции ввода – вывода, происходит обращение к системным вызовам для выполнения операции. Системные вызовы, обычно оформлены как библиотечные процедуры, доступ к которым осуществляется с помощью функций программирования. Библиотечные процедуры работают в пользовательском режиме. Кроме того, в многозадачных ОС применяется система спулинга. Спулинг (spooling - подкачка, предварительное накопление данных) представляет собой способ работы с такими устройствами, как принтер. Для того, чтобы распечатать файл, программа создает специальный файл, предназначенный для печати, который помещается в каталог спулинга. Затем процесс, который отвечает за печать, работает с этим файлом. Если есть несколько программ, которые печатают данные, то будет образована «очередь печати»Таким образом, пользовательский процесс не может занять надолго принтер.

Устройство – независимое программное обеспечение (менеджер ввода – вывода). Определяется тип операции ввода – вывода, определяется устройство, для которого поступил запрос, системные имена данных, проверяет защиту.

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

Драйвер обеспечивает:

  • взаимодействие с контроллером, то есть передачу и прием данных;

  • обработку прерываний от контроллера;

  • предоставление пользователю удобного интерфейса, который скрывает низкоуровневые детали обмена данными, как правило, одинаковый для всех устройств;

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

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

п риложение

запрос

д райвер

к онтроллер

аппаратура

Драйвер выполняет подготовку к выполнению операции ввода – вывода, установку управляющих регистров, проверку готовности устройства, формирует прерывание, определяет тип и номер прерывания.

Обработчик прерываний - обрабатывает прерывание по номеру (вектору) или опрашивает устройства.

Аппаратура - выполняет операцию ввода - вывода

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