Одинарные стрелки - управление
Двойные – данные
С момента выдачи команда ввода/вывода со стороны центрального процессора, до получения им сигнала готовности, как правило проходит много времени в связи с тем, что устройство ввода/вывода обладает как минимум на порядок меньшим быстродействием, чем микросхемы центрального микропроцессора. Поэтому проблема состоит в том, как центральный процессор должен ждать сигналы готовности.
Различают 2 режима управления вводом/выводом:
- Режим с опросом готовности устройства ввода/вывода. Сущность заключается в том что после выдачи команды ввода/вывода драйвер устройства, к которому обратились, постоянно (циклически) опрашивает наличие/отсутствие сигнала готовности.
+ Простая реализация
- Центральный процессор на все время использования команды ввода/вывода занят драйвером.
Пример: система Windows 95/98/NT использует этот режим при работе с принтером.
- Режим ожидания прерываний. Основная идея состоит в том, что после выдачи команды ввода/вывода ЦП используется любыми другими программами. После появления сигнала готовности от устройства ввода/вывода, этот сигнал вызывает прерывание. Данный режим очень эффективен т.к. обеспечивает высокую производительность системы. Использование этого режима обеспечивает реализацию классического мультипрограммирования.
|
|
+ Высокая производительность.
- Если в системе работает процесс с большим приоритетом, следующие процессы будут долго ждать. Большая сложность реализации драйвера. Как правило требуется совокупность драйверов и кроме того драйвера должны учитывать массу прерываний.
Спулинг
Спулинг – имитация работы с неразделяемыми устройствами ввода/вывода в режиме онлайн.
Бывают 2 типа – разделяемые (магнитные диски) и неразделяемые (принтер) устройства.
Имитация заключается в том, что пользователям передается в работу не реальное устройство, а виртуальное.
В большинстве случаев имитация заключается в том, что данные пользователя выводятся не на принтер, а в файл. Реальный вывод осуществляется последним образом в соответствии с принципом диспетчеризации и приоритетами процесса.