IRQL (Windows) - IRQL (Windows)

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

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

Смотрите также

использованная литература

  1. ^ Руссинович Марк (31 октября 1997 г.), "Обработка прерываний изнутри NT", Windows для ИТ-специалистов, Пентон Медиа, заархивировано из оригинал 13 сентября 2016 г., получено 26 апреля, 2016
  2. ^ Планирование, контекст потока и IRQL, Microsoft, 26 апреля 2016 г., стр. 6–7, архивировано с оригинал 22 октября 2016 г., получено 26 апреля, 2016