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