- по прерываниям;
- по прямому доступу к памяти.
По опросу готовности
драйвер выполняет следующие действия:
1. Запрещает прерывания от устройства и инициирует операцию на устройстве.
2. Переходит в состояние ожидания.
3. Циклически проверяет завершенность операции.
4. Дождавшись завершения операции, проверяет отсутствие ошибки при ее выполнении, разрешает прерывания и возвращает управление прерванному процессу.
По опросу готовности реализуется синхронный ввод-вывод, при котором отсутствует параллелизм между обработкой и передачей информации. ЦП находится в активном ожидании завершения операции ввода/вывода. Такой способ работы драйверов используется в однопрограммных однопользовательских ОС.
Достоинство - простота. Недостаток - синхронный ввод-вывод, отсутствие параллелизма между вводом/выводом и обработкой.
При работе по прерываниям действия выполняются в следующей последовательности:
1. Инициализируется операция ввода/вывода и разрешает прерывания от устройства.
2. Возвращает управление ЦП для выполнения других действий до момента прерывания.
3. При прерывании происходит переход на программу обработки, в которой проверяется отсутствие ошибки ввода/вывода, и после завершения обработки осуществляется возврат на прерванную программу.
Достоинство - асинхронный ввод-вывод, то есть параллельная работа ЦП и ПУ. Используется в мультипрограммных системах.
При работе по прямому доступу к памяти (ПДП) (Direct Memory Access-DMA)действия выполняются в следующем порядке:
1. ЦП запускает канальную программу командой "запустить канал", которая содержит адрес канала и периферийного устройства. С этого момента канал и ЦП работают параллельно.
2. Канал выполняет свою программу, которая заканчивается нормально либо с ошибкой, либо по команде ЦП "остановить канал".