Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СПО.docx
Скачиваний:
49
Добавлен:
25.09.2019
Размер:
263.19 Кб
Скачать
  1. Концепция организации в/в в современных ос

Основной принцип: все операцои ввода/вывода – привилегированные и выполняются кодом самой системы.

Ввод/вывод оформлен как системный код т.к.

    1. Необходимо решение конфликтов между процессами по доступу к устройствам ввода/вывода

    2. Желание повышения эффективности использования ресурсов ввода/вывода(минимизация потерь времени)

    3. Необходимость избавить программы ввода/вывода от ошибок

Задачи ввода/вывода: в ОС всегда есть специализированный модуль диспетчеризации(супервизор) ввода/вывода, который решает задачи по обслуживанию ввода/вывода:

  1. Получение запросов на ввод/вывод от диспетчера задач или программных модулей самой ОС

  2. Определяет очередность предоставления устройств ввода/вывода, управляет постановкой запросов в/в в очередь

  3. Передача управления соответствующим драйверам

  4. При получении запросов на прерывание от устр в/в супервизор должен идентифицировать эти сигналы и передать управления соответств программам обработки прерываний

  5. Супервизор в/в осущ передачу сообщ об ошибках, если они возникают в процессе управления операциями в/в

  6. Супервизор в/в посылает инф о завершении операции в/в задаче, запросившей эту операцию, и снимает задачу с состояния ожидания, если она ожидала завершения операции в/в

  1. Режим управления в/в

Существует два режима ввода-вывода: обмен с опросом готовности и обмен по прерываниям. Общая структура управления вводом-выводом представлена на рис. 23.

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

Т.к. быстродействие устройства ввода-вывода намного меньше быстродействия центрального процессора, то ему приходится долго ждать сигнала готовности УВВ, чтобы послать новую команду на это устройство. Фактически в цикле выполняется команда «проверить наличие сигнала готовности». При этом время центрального процессора расходуется нерационально.

Гораздо выгоднее, подав команду ввода-вывода, переключиться на период её выполнения на другую программу. При этом появление сигнала готовности от устройства ввода-вывода рассматривать как запрос на прерывание. Т.к. быстродействие УВВ известно, то при подаче команды обмена запускается таймер, по которому отсчитывается интервал времени до выработки следующего сигнала готовности. Если этот интервал (уставка тайм-аута) превышен, то считается, что связь с устройством потеряна. Об этом выдаётся соответствующее диагностическое сообщение.

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

Еще одним способом организации управления операциями обмена являются использование вытесняющей мультизадачности (например, Windows NT). При этом драйвер печати через параллельный порт работает в режиме опроса готовности, что даёт стопроцентную загрузку ЦП, а вытесняющая мультизадачность время от времени прерывает процесс управления печатью и передаёт процессор другим задачам.

  1. Схема