Модель прерываний Ады
Стандарт описывает следующую модель прерывания:
Прерывание представляет класс событий, которые детектируются оборудованием или системным программным обеспечением.
Появление (occurence) прерывания состоит из генерации (generation) и доставки (delivery).
Генерация прерывания - это событие в оборудовании или системе, которое делает прерывание доступным для программы.
Доставка прерывания - это действия, которые вызывают часть программы (называемую обработчиком прерывания) в ответ на появление прерывания.
Прерывание называют ожидающим обслуживание (pending), когда оно находится между генерацией и доставкой прерывания.
Вызов обработчика происходит только после доставки каждого прерывания.
Пока происходит обработка прерывания, последующие прерывания от того же источника заблокированы, то есть, предотвращается генерация всех последующих прерываний.
Будут ли утеряны заблокированные прерывания, обычно, зависит от устройства.
Некоторые прерывания зарезервированы.
Программист не может определить обработчик для зарезервированного прерывания.
Обычно, зарезервированные прерывания непосредственно обрабатываются библиотекой времени выполнения Ады (например, прерывание от часов, которое используется для реализации инструкций задержки).
Каждое не зарезервированное прерывание имеет обработчик по умолчанию, который устанавливается библиотекой времени выполнения Ады.