Win 2K OS对硬件中断的处理机制

     Win 2K OS将设备的中断请求抽象为独立于平台的中断对象。中断对象包括总线类型、中断优先级别、总线矢量号、中断模式(电平触发、边沿触发)等。操作系统总是将中断对象和一定中断等级(RIQL,Interrupt Request Level)联系在一起,中断的IQRL级别高低,依赖于发生中断的总线类型和总线级别,一个驱动程序可以产生多个具有同一IRQL级别的中断对象。中断对象也总是和一定的中断服务程序(ISR,Interrupt Service Request)联系在一起,当设备中断产生时,系统调用该中断对象的SIR。SIR是完成中断任务的核心程序,它是系统提供的标准函数,也可以是用户自己定义的执行函数。SIR只有在当前处理器RIQL级别等于或低于当前中断对象IRQL级别时才能执行。同样,SIR在执行的过程中不会被中断,除非有比IRQL级别更高的中断请求出现。一般外部设备的sIR,运行在硬件中断等级(DIRQL,Device Interrupt Request Level)级别上,这样CPU运行的级别比较高,故SIR应该尽可能快地执行,以免出现中断堆积。
       操作系统提供了延迟过程调用(DPC,Delayed Procedure Call)对象,这个对象可用于那些需要花费很多时间执行SIR的设备中断,这些中断程序执行低于DIRQL级别上。这种延迟过程调用方法将那些中断发生后需要后续处理的操作通过DPC做以缓冲,在很大程度上缩短了SIR占用中断优先级的时间,提高了系统的实时性。
      我们的控制卡正是采用这种中断机制。驱动程序中编写了处理系统中断的SIR,用于执行中断处理所必需的操作(如判断中断是否为本设备所产生、关闭中断、清除硬件中断信号、重启中断等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值