![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Как правило, устройства ввода-вывода состоят их двух частей – контроллера и самого устройства. К контроллеру могут подключаться несколько устройств. Для этого каждому присваивается свой адрес. Контроллер выполняет команды ввода-вывода, которые могут быть реализованы несколькими способами – непосредственно командой ассемблера или прерыванием. Контроллер управляет внешними устройствами с помощью линий или сигналами интерфейса. По одной линии может быть сигнал канала движения ленты или окончание, на другой – включение головки на запись и запись.
Контроллеры устройств для различных устройств различны.
Драйвер – программная часть ОС, которая взаимодействует с контроллером.
Драйвера устройств работают в режиме ядра, поэтому для каждой ОС для одного и того же устройства требуются различные драйвера.
Передача параметров в контроллер при выполнении операции ввода-вывода осуществляется через регистр.
Для некоторых устройств регистры контроллера могут отображаться ячейками в ОП, поэтому их можно заполнять командой пересылки тоже. В другом контроллере регистры находятся внутри, поэтому перед операцией ввода-вывода нужно их заполнить параметрами.
В некоторых случаях регистры располагаются в устройствах над портами и каждый регистр имеет свой адрес порта. Запись/чтение в регистр порта по командам in/out.
Как правило, ввод-вывод может осуществляться тремя способами:
1. Пользовательская программа выдает системный запрос на ввод-вывод. Ядро ОС анализирует запрос вызова процедуры. Другое проверяется состояние устройства и ждёт его готовности. Если готово, помещает данные в регистр устройства. Недостаток – ожидание готовности устройства.
2. Драйвер запускает устройство и просит вызвать его прерывание по окончании ввода-вывода. В это время центральным процессором выставляется прерывание. ОС обрабатывает его и передает управление другой пользовательской программе. Как только операции ввода-вывода закончились, происходит прерывание ввода-вывода и управление передается прерванной программе для обработки окончания ввода-вывода.
3. Используется специальный контроллер прямого доступа к памяти DMA, с помощью которого осуществляется передача данных между ОП и устройствами без участия процессора (драйверы). И процессор, вызывая микросхему DMA, сообщает ей сколько байт нужно передать, адрес устройства и данных, направление передачи данных и процесс записи на внешние устройства без помощи процессора. По окончании ввода-вывода генерируется прерывание.
Каждый процессор ввода-вывода может подключать к себе 1000 устройств, при этом они работают параллельно.
Процессор ввода-вывода использует команды ввода-вывода на микропрограммном уровне.
Дата публикования: 2015-06-12; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!