Лекция: Режимы управления вводом-выводом.

Управление вводом/выводом осуществляется компонентом ОС, называемым диспетчером или супервизором ввода/вывода. Этот компонент выполняет следующие задачи:

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

Определяет очередность предоставления устройств ввода/вывода задачам затребовавшим их.

Инициирует задачи ввода/вывода (передает управление соответствующим драйверам) и в случае выполнения ввода/вывода с использованием прерывания передает управление диспетчеру задач. Чтобы он передал его первой задаче, стоящей в очереди на выполнение.

Идентифицирует сигналы прерывания от устройств ввода/вывода и передает управление соответствующей проге обработки прерывания.

Передает сообщения об ошибках, случившихся в процессе ввода/вывода.

Посылает сообщение о завершении операции ввода /вывода, запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, Если процесс ждал завершение операции.

Сущ-ет 2 основных режима ввода/вывода: режим обмена опросом готовности устройства ввода/вывода и режим обмена с прерыванием

Для организации ввода/вывода по 1 варианту процессор посылает устройству управления команду для устройства ввода/вывода выполнить некоторое действие. Устр-во управления выполнит команду преобразования, её сигналы управления, которое оно передает устройству ввода/вывода. Поскольку быстродействие устройства ввода/вывода меньше на несколько порядков устройства быстродействия процессора, то драйвер управляющий обменом Д-х с внешних устройств вынужден в цикле опрашивать готовность устройств. При этом нерационально используется время процессора. Выгоднее после команды ввода/вывода перейти на выполнение другой команды, а появление сигнала готовности трактовать как запрос на прерывание. Драйверы работающие в режиме прерывания пред-ют собой сложный комплекс прогных модулей и имеют несколько секций: секция запуска, секция продолжения, секция завершения.

Секция запуска запускается для включения устройств ввода/вывода либо для инициализации очередной операции ввода/вывода. Секция продолжения осуществляет основную работу по передаче Д-х, Секция завершения выключает устройства ввода/вывода либо просто завершает операцию.

Управление операциями ввода/вывода в режиме прерывания требует более сложных прог чем те, что работают в режиме опроса готовности.

Так, в операционных с-мах Windows 95,98 и Windows NT драйвер печати через параллельный порт работает не в режиме прерывания, а в режиме опроса готовности, что приводит к 100% загрузке процессора на все время печати. Для организации и выполнения многие параллельно выполняющиеся задачи устройств ввода/вывода вводится понятие виртуального устр-ва, повышающего эффективность вычислительных систем. Примером служит spooling, то есть имитация работы с устр-вом в режиме on-line.Главная задача spoolingа – создать единицу параллельно выполняемого устройства ввода/вывода с последовательным доступом.

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

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

еще рефераты
Еще работы по информатике