Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
67
Добавлен:
15.06.2014
Размер:
271.87 Кб
Скачать

Организация ввода-вывода Основные понятия

Программный комплекс реализующий ввод/вывод часто называется системой.

Управление вводом- выводом базируется на следующем основном принципе: команды на ввод/вывод являются привилегированными для ОС и могут исполняться только самой ОС, а не пользовательскими программами, по следующим причинам:

  1. Необходимость устранять конфликты, возникающие при обращении к устройству со стороны пользовательских процессов или программ.

  2. Необходимость повышения эффективности использования ресурсов (обращение 2-х программ к дискам).

  3. Ошибки в самих программах, которые могут приводить к краху системы.

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

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

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

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

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

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

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

Лекция11 (25.10.02)

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

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

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

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

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

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

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

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

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

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

+ Высокая производительность.

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

Спулинг

Спулинг – имитация работы с неразделяемыми устройствами ввода/вывода в режиме онлайн.

Бывают 2 типа разделяемые (магнитные диски) и неразделяемые (принтер) устройства.

Имитация заключается в том, что пользователям передается в работу не реальное устройство, а виртуальное.

В большинстве случаев имитация заключается в том, что данные пользователя выводятся не на принтер, а в файл. Реальный вывод осуществляется последним образом в соответствии с принципом диспетчеризации и приоритетами процесса.

Соседние файлы в предмете Операционные системы