Аппаратное обеспечение информирует операционные системы о некоторых событиях с прерываниями.Они могут быть вызваны при возникновении ошибки или когда на каком-либо периферийном устройстве появились новые данные (пользователь нажал клавишу, пакет поступил в сеть, истек таймер, ...).Эти прерывания должны быть быстро обработаны системой (чтобы они выглядели отзывчивыми).
Они обрабатываются ядром.Как правило, когда приходит одно такое прерывание, текущий запущенный код останавливается и вызывается функция ядра.Прерывания должны быть быстро устранены, чтобы получить отзывчивую систему, поэтому они не должны блокировать ядро в ожидании какого-либо ресурса или делать что-то подобное.Классическое решение состоит в том, чтобы иметь функцию немого прерывания, которая просто записывает номер прерывания и возврата, а затем в главном цикле ядра, чтобы проверить, произошло ли какое-либо прерывание и вызвать реальный обработчик.
Поскольку эти прерывания могут быть замаскированы (за исключением немаскируемого прерывания - NMI), ядро может порождать некоторые потоки в режиме ядра, и только иметь их, снимает маскировку с прерывания и обрабатывает их.Поскольку эти потоки не зависят от основного потока ядра, они могут блокироваться при условии, что имеется достаточно потоков для обработки прерываний, которые могут появиться, пока поток заблокирован.