Символические и числовые определения IRQL
Таблица 5. Символические и числовые определения IRQL
Символическое имя | Предназначение | Уровень Intel | Уровень Alpha | ||
HIGH LEVEL | Наивысший уровень прерывания |
| 31 | 7 | |
POWER LEVEL | Power event | 30 | 7 | ||
IPI LEVEL | Межпроцессорный сигнал | 29 | 6 | ||
CLOCK LEVEL | такт системных часов | 28 | 5 | ||
PROFILE LEVEL | Контроль производительности | 27 | 3 | ||
DEVICE LEVEL | Обычные прерывания устройств | 3-26 | 3-4 | ||
DISPATCH_LEVEL | Операции планирования и отложенные вызовы процедур (DPC) | 2 | 2 | ||
APC LEVEL | Асинхронные вызовы процедур (АРС) | 1 | 1 | ||
PASSIVE LEVEL | Нет прерываний | 0 | 0 |
В отличие от программных IRQL, значения и отношения аппаратных IRQL могут изменяться в зависимости от реализации аппаратной части системы. Например, в архитектурах на основе х86, уровень IRQL profile_level ниже, чем IRQL ipi_level, который является в свою очередь ниже, чем IRQL power_level. Однако, на MIPS системах, IRQL power_level и IRQL ipi_level имеют то же самое значение, и оба ниже, чем IRQL profilejevel.
Уровни IRQL являются главным методом, используемым для расположения по приоритетам действий операционной системы Windows NT. Повышение уровня IRQL позволяет подпрограмме операционной системы как управлять повторной входимос-тью (реентерабельность) так и гарантировать, что она может продолжать работу без приоритетного прерывания (вытеснения) некоторыми другими действиями. Следующие разделы описывают, как используются наиболее распространенные уровни IRQL.