Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

6.2. Методы управления периферийными устройствами

В подсистемах управления вводом-выводом используются в основном два типа методов управления периферийными устройствами: прямой и косвенный. Методы отличаются степенью автономности операций ввода-вывода от центрального процессора.

Прямой метод управления основан на наличии непосредственной связи между центральным процессором и периферийным устройством (рис.6.3,а). На центральный процессор возлагается обязанность непосредственного управления работой устройства. Это предполагает наличие в составе команд процессора специальных команд по инициированию работы устройства, проверке готовности его к работе, останову устройства, записи информации и т. д. Особенностью этих команд является следующее. При попытке обращения к устройству для ввода или вывода информации, если устройство занято выполнением какой-либо ранее заданной операции, выполнение команды процессора блокируется до тех пор, пока устройство не освободится. Часто для предоставления возможности программировать совмещение счета на центральном процессоре и процесса выполнения отдельных операций ввода-вывода на периферийном устройстве в состав системы вводят флажок занятости устройства. Он программно доступен центральному процессору и устанавливается или сбрасывается аппаратно по мере занятости или освобождения устройства. Если флажок в некоторый момент времени находится в установленном состоянии (устройство занято), то процессор можно заставить (запрограммировать) выполнять некоторую счетную работу, а не простаивать в ожидании освобождения устройства.

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

Рис. 6.3.

Главный недостаток прямого метода управления вводом-выводом - практическая нереализуемость на его основе режима мультипрограммирования. Этого недостатка лишен метод косвенного ввода-вывода (рис.6.3,б). Метод основан на том, что между центральным процессором и периферийным устройством помещается специальный процессор, называемый каналом, который осуществляет фактическое управление операциями ввода-вывода. Таким образом, с центрального процессора снимаются несвойственные ему функции по управлению периферийными устройствами, доступ к которым теперь косвенный - через канал. Вместе с тем за центральным процессором остаются функции управления, но уже не устройствами, а каналом. Центральный процессор только инициирует ввод-вывод, а затем может выполнять необходимые программы вплоть до момента окончания инициированного процесса ввода-вывода. Фактической передачей данных управляет канал по специальной программе, исполнение которой в канале представляет собой внешний процесс. По мере развития внешнего процесса центральный процессор, канал и адресуемое периферийное устройство работают параллельно.