Сами прерывания устройства (обычно) обрабатываются любым потоком, в котором был процессор, который принял прерывание, но в кольце 0 и с другим уровнем защиты. Это ограничивает некоторые действия, которые может выполнять обработчик прерываний, поскольку большую часть времени текущий поток не будет связан с потоком, ожидающим события, которое указывает прерывание.
Само ядро является закрытым исходным кодом и документируется только через его внутренний API. Этот API доступен авторам драйверов устройств и описан в комплектах разработки драйверов.
Некоторые ресурсы, с которых можно начать:
Любое издание Соломона и Руссиновича Microsoft Windows Internals . Нынешнее, похоже, четвертое издание, но даже старое издание поможет.
Windows DDK, теперь переименованный в WDK . Документация доступна онлайн тоже. Обязательно прочитайте Руководство по проектированию режима ядра ...
Sysinternals содержит инструменты и статьи для изучения и объяснения поведения ядра. Раньше это был независимый сайт, пока Microsoft не устала от того, что Марк Руссинович, похоже, знает больше о том, как работает ядро, чем они. ; -)
Обратите внимание, что исходные коды для многих распространенных драйверов устройств включены в DDK в примерах. Хотя рабочие версии почти наверняка отличаются, чтение примеров драйверов может ответить на некоторые вопросы, даже если вы не хотите реализовывать драйвер самостоятельно.