Обработчики прерываний
Прерывания должны быть скрыты как можно глубже в недрах операционной системы, чтобы как можно меньшая часть ОС имела с ними дело. Лучше всего блокировать драйвер, начавший ввод-вывод.
Алгоритм:
- Драйвер начинает операцию ввод-вывод.
- Драйвер блокирует сам себя,
- выполнив на семафоре процедуру down
- выполнив на переменной состояния процедуру wait
- выполнив на сообщении процедуру receive - Происходит прерывание
- Обработчик прерываний начинает работу
- Обработчик прерываний может разблокировать драйвер (например, выполнив на семафоре процедуру up)