Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Запрос прерывания уровня ( IRQL ) является аппаратно-независимым средством , с которым Windows , приоритизирует прерывания , которые поступают из системы процессоров . В архитектурах процессоров, на которых работает Windows, оборудование генерирует сигналы, которые отправляются на контроллер прерываний . Контроллер прерывания отправляет запрос прерывания(или IRQ) для ЦП с определенным уровнем приоритета, и ЦП устанавливает маску, которая переводит любые другие прерывания с более низким приоритетом в состояние ожидания, пока ЦП не вернет управление контроллеру прерываний. Если поступает сигнал с более высоким приоритетом, текущее прерывание переводится в состояние ожидания; ЦП устанавливает маску прерывания на приоритет и переводит любые прерывания с более низким приоритетом в состояние ожидания, пока ЦП не закончит обработку нового прерывания с более высоким приоритетом. [1]

Windows сопоставляет не только уровни аппаратных прерываний со своей внутренней таблицей прерываний, но также отображает программные прерывания. Отображения в этой таблице называются уровнями запроса прерывания или IRQL, и отдельный IRQL сохраняется для каждого процессора в многопроцессорной системе. Значения IRQL специфичны для архитектур процессоров x86 , IA64 и AMD64 , на которых может работать Windows, хотя теоретически они могут поддерживать другие процессоры, использующие аналогичную схему прерывания (например, DEC Alpha и MIPS., которые кратковременно поддерживались в ранних версиях Windows). По сути, это означает, что APC (вызовы асинхронных процедур), пользовательские потоки и операции режима ядра могут быть прерваны, и система должна запускать их с IRQL ниже, чем у планировщика потоков (или «диспетчера»). [2]

См. Также [ править ]

Ссылки [ править ]

  1. ^ Russinovich, Марк (31 октября 1997), "Обработка прерываний Внутри NT , " , Windows IT Pro , Penton СМИ , архивируются с оригинала на 13 сентября 2016 года , получен 26 апреля, +2016
  2. ^ Scheduling, Thread Context и IRQL , Microsoft , 26 апреля 2016 г., стр. 6–7, заархивировано из оригинала 22 октября 2016 г. , получено 26 апреля 2016 г.