一:
什么是Windows的ISR
ISR(Interrupt Service Routines)是Windows的中断服务程序。
二:
ISR的细节
(1)处理中断(interrupts )的物理设备驱动(physical driver)会在系统上注册一个或多个ISR(中断服务程序)来处理硬件中断信号。当Windows每次接收到一个硬件中断时,都会调用对应的中断服务程序来处理中断。
(2)在PCI 2.2之前的端口设备和总线设备可以生成中断线中断,一个设备通过在一个被称为中断线的专用引脚上发送一个电信号来产生中断。在Windows Vista 之前的系统版本只支持中断线中断的方式。
(3)从PIC2.2开始,PCI设备可以生成一种叫消息信号中断。设备通过向特定地址写入数据值来生成消息信号中断。Windows Vista和以后的操作系统既支持中断线中断,也支消息信号中断。
三:
Windows ISR 的种类
系统支持两种不同类型的中断服务程序:
(1)InterruptService:
- 可以处理中断线中断或者消息信号中断,Windos传递的介质是:驱动提供的context值.
- 可以处理消息信号中断, Windos传递的介质是:驱动提供的context值 和 message ID.