Разница между аппаратными прерываниями и программными прерываниями (SoftIRQs) в Linux заключается в источнике и цели их генерации. 12
Аппаратные прерывания (в Linux называются IRQ, сокращённо от Interrupt ReQuests — Запросы на Прерывание) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент. 2 Примеры: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. 2 Обработчиком аппаратного прерывания является драйвер устройства. 2
Программные прерывания — инициируются исполнением специальной инструкции в коде программы. 2 Как правило, используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы. 2 Вызываются искусственно с помощью соответствующей команды из программы (int), предназначены для выполнения некоторых действий операционной системы, являются синхронными. 2
Таким образом, аппаратные прерывания связаны с внешними событиями, которые требуют немедленного внимания процессора, а программные прерывания предназначены для выполнения работ, которые могут быть отложены. 10