1
我是新写Windows设备驱动程序。为什么Windows设备驱动程序中断服务程序(ISR)是可中断的?
我的理解是,在x86处理器被中断(当CPU的INTR线由器件触发时)的硬件级,处理器清除EFLAGS寄存器的中断标志位以禁用中断,然后执行中断服务程序(ISR)。所以通常情况下,x86 ISR在完成其工作并发出IRET指令之前不能再次中断。但为什么Windows ISR是可中断的? Windows ISR与处理器的ISR相同吗?
Windows设备驱动程序ISR根据这里是中断: MSDN:Writing an ISR
处理器标志由DIRQL虚拟化,主要是为了确保设备驱动程序不能滥用它并让中断在长时间内处于禁用状态。 – 2014-09-26 10:15:11