为什么Windows设备驱动程序中断服务例程(ISR)是可中断的?

时间:2014-09-26 09:00:15

标签: windows device-driver isr

我是编写Windows设备驱动程序的新手。

我的理解是在硬件级别当x86处理器被中断时(当设备触发CPU的INTR线路时),处理器清除EFLAGS寄存器的中断标志位以在执行中断之前禁用中断服务套路(ISR)。通常情况下,x86 ISR在完成其工作并发出IRET指令之前不能再次中断。但为什么Windows ISR可以中断? Windows ISR与处理器的ISR相同吗?

Windows设备驱动程序ISR根据此处可中断: MSDN:Writing an ISR

1 个答案:

答案 0 :(得分:0)

您在链接中指定的文档是: 1.当引发中断[DIRQL]时,一般规则是该设备的所有中断,并且小于该设备IRQL。 2.当ISR正在执行且具有更高DIRQL中断的设备时,将调用具有更高DIRQL的设备的ISR ...

所以链接中指定的语句指向上面提到的点。

相关问题