Прерывание: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Перевод из англ. вики.
м →‎Преамбула: ето не [[Callback (программирование)|
Строка 11:
 
В зависимости от источника возникновения сигнала прерывания делятся на:
* [[Callback (программирование)|асинхронные]], или внешние (аппаратные) — события, которые исходят от внешних аппаратных устройств (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как ''запрос на прерывание'' ({{lang-en|Interrupt request, IRQ}}) - устройства сообщают, что они требуют внимания со стороны ОС;
* синхронные, или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении [[Машинный код|машинного кода]]: деление на ноль или [[переполнение стека]], обращение к недопустимым адресам памяти или недопустимый код операции;
* программные (частный случай внутреннего прерывания) — инициируются исполнением специальной [[Код операции|инструкции]] в коде [[компьютерная программа|программы]]. Программные прерывания, как правило, используются для обращения к функциям встроенного программного обеспечения ([[firmware]]), [[драйвер]]ов и [[операционная система|операционной системы]].