Ада-95. Компилятор GNAT

       

Модель прерываний Ады


Стандарт описывает следующую модель прерывания:

Прерывание представляет класс событий, которые детектируются оборудованием или системным программным обеспечением.

  • Появление (occurence) прерывания состоит из генерации (generation) и доставки (delivery).

  • Генерация прерывания - это событие в оборудовании или системе, которое делает прерывание доступным для программы.

  • Доставка прерывания - это действия, которые вызывают часть программы (называемую обработчиком прерывания) в ответ на появление прерывания.

    Прерывание называют ожидающим обслуживание (pending), когда оно находится между генерацией и доставкой прерывания.

    Вызов обработчика происходит только после доставки каждого прерывания.

  • Пока происходит обработка прерывания, последующие прерывания от того же источника заблокированы, то есть, предотвращается генерация всех последующих прерываний.

    Будут ли утеряны заблокированные прерывания, обычно, зависит от устройства.

  • Некоторые прерывания зарезервированы.

    Программист не может определить обработчик для зарезервированного прерывания.

    Обычно, зарезервированные прерывания непосредственно обрабатываются библиотекой времени выполнения Ады (например, прерывание от часов, которое используется для реализации инструкций задержки).

  • Каждое не зарезервированное прерывание имеет обработчик по умолчанию, который устанавливается библиотекой времени выполнения Ады.



    Содержание раздела