Защита системы от непрекращающихся циклов обработки прерываний работает следующим образом: 1
- Автоматически сохраняется часть контекста прерванного потока. 1 Это позволит ядру возобновить исполнение потока процесса после обработки прерывания. 1
- Временно запрещаются прерывания данного типа. 1 Детали выполнения этой операции зависят от особенностей аппаратной платформы, например может использоваться механизм маскирования прерываний. 1 Многие процессоры автоматически устанавливают признак запрета прерываний в начале цикла обработки прерывания, в противном случае это делает программа обработки прерываний. 1
- После того как прерывание обработано ядром операционной системы, прерванный контекст восстанавливается и работа потока возобновляется с прерванного места. 1 Часть контекста восстанавливается аппаратно по команде возврата из прерываний (например, адрес следующей команды и слово состояния машины), а часть — программным способом, с помощью явных команд извлечения данных из стека. 1 При возврате из прерывания блокировка повторных прерываний данного типа снимается. 1
Также чтобы избежать попадания в ситуацию, когда операционная система окажется в недопустимом состоянии, ядро отключает прерывания во время выполнения любых атомарных операций. 2 После того, как выполнено всё необходимое и система снова находится в известном состоянии, ядро повторно включает прерывания. 2