Лекции по операционным системам, страница 16

Основные требования предъявляемые к супервизору:

1.  Он должен контролировать корректность самих запросов.

2.  Он должен планировать очередность предоставления различных устройств процессу.

3.  Он должен инициализировать начало ввода/вывода, передавая управление соответствующему драйверу.

4.  При получении прерываний от устройств ввода/вывода, он должен передавать управление соответствующей программе обработки прерываний.

5.  Он должен выдавать сообщения об ошибках при работе устройств ввода/вывода.

6.  Сообщать процессу о завершении операции ввода/вывода и снимать процессы состояния «ожидания».

Лекция11 (25.10.02)

Режимы управления вводом/выводом

Одинарные стрелки - управление

Двойные – данные

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

Различают 2 режима  управления вводом/выводом:

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

+ Простая реализация

-  Центральный процессор на все время использования команды ввода/вывода занят драйвером.

Пример: система Windows 95/98/NT использует этот режим при работе с принтером.

  1. Режим ожидания прерываний.  Основная идея состоит в том, что после выдачи команды ввода/вывода ЦП используется любыми другими программами. После появления сигнала готовности от устройства ввода/вывода, этот сигнал вызывает прерывание. Данный режим очень эффективен т.к. обеспечивает высокую производительность системы. Использование этого режима обеспечивает реализацию классического мультипрограммирования.