Интерфейсы устройств
6.2. Интерфейсы устройств
Здесь мы рассматриваем взаимодействия ОС с устройствами, лежащие на уровне "интерфейса оборудования" - вспомните Рисунок 1.2.
При всем многообразии внешних устройств ЭВМ и способов управления ими их программные интерфейсы могут быть сведены к трем основным моделям, определяющимся способом подключения устройств к ЭВМ:
- регистры устройств;
- контроллеры ввода-вывода;
- прямой доступ к памяти;
- каналы ввода-вывода;
- процессоры ввода-вывода.
Устройство может быть подключено к процессору через регистры устройства, как показано на Рисунке 6.1. Такое подключение применяется для устройств, которые имеют простое управление, и обмен с ними ведется небольшими порциями данных (байт, слово, двойное слово). Устройство может иметь большое число регистров, которые, однако, сводятся к трем основным типам: регистры состояния - для передачи в процессор информации о состоянии, регистры управления - для передачи на устройство команд, регистры данных - для обмена данными между процессором и устройством. Регистры управления и состояния, как правило, являются однонаправленными, регистры данных могут быть как одно-, так и двунаправленными. Регистры устройств являются расширением адресного пространства ЭВМ. Расширение это может быть как явным - с доступом при помощи команд работы с памятью типа MOV, так и неявным - с отдельной адресацией портов ввода-вывода и доступом при помощи специальных команд типа IN/OUT.