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