Я использую ноутбук Windows 7 от Dell. Я пытаюсь найти количество прерываний и векторов прерываний, используемых моей системой. Я попытался с помощью диспетчера устройств, но мне удалось найти прерывания и уровни прерываний, но нет векторов прерываний.

Может кто-нибудь объяснить, как работает обработка прерываний в Windows? И как я могу узнать, сколько прерываний поддерживается моей системой в этих векторах?

Заранее спасибо.

1 ответ1

2

Векторы прерываний являются функцией процессора, а не ОС, и зависят от архитектуры (вы можете увидеть таблицу дескрипторов прерываний реализации x86). Windows специально запретила программный доступ к векторам, начиная с Windows Server 2003 для систем x64, и попытка их использования сгенерирует проверку на ошибку с кодом остановки 0x109 и завершит работу системы.

Что касается фактической обработки прерываний, то это обрабатывается в специфическом для устройства коде (драйверах). Документацию о которой можно найти здесь. Общая суть в том, что аппаратное обеспечение генерирует DIRQL, который затем обрабатывается подпрограммой обработки прерываний соответствующего драйвера, реализованной как функция обратного вызова EvtInterruptIsr.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .