Существует хорошая страница википедии по обработчикам прерываний .
"Обработчик прерываний, также известный как подпрограмма обработки прерываний (ISR), является подпрограммой обратного вызова воперационная система или драйвер устройства, выполнение которого инициируется приемом прерывания. Обработчики прерываний имеют множество функций, которые различаются в зависимости от причины, по которой было сгенерировано прерывание, и скорости, с которой обработчик прерываний выполняет свою задачу. "
В основном, когда часть оборудования (аппаратное прерывание) или какая-либо задача ОС (программное прерывание) должна запускаться, она запускает прерывание.Если эти прерывания не маскируются (игнорируются), ОС прекратит работу и вызовет специальный код для обработки этого нового события.
Один хороший пример - чтение с жесткого диска.Диск работает медленно, и вы не хотите, чтобы ваша ОС ожидала возвращения данных;Вы хотите, чтобы ОС работала и делала другие вещи.Таким образом, вы настраиваете систему так, чтобы, когда на диске были запрошенные данные, оно вызывало прерывание.В процедуре обработки прерывания для диска центральный процессор примет данные, которые теперь готовы, и вернет их запрашивающей стороне.
ISR часто должны происходить быстро, поскольку аппаратное обеспечение может иметь ограниченный буфер, который будет перезаписываться новыми данными, если он теперь выполняется достаточно быстро.Также важно, чтобы ваш ISR завершался быстро, так как во время обслуживания ЦП одного ISR другие прерывания будут маскироваться, а это означает, что если ЦП не может получить их быстро, достаточно данных может быть потеряно.