/*Interrupt, trap and exception handling in Windows nt把硬件中断映射到software interrupt request level上了,实现了很好的隔离和跨平台特性。对驱动程序员来说,除了在获取资源列表和调用IoConnectInterrupt之外,几乎接触不到硬 件中断。所有和中断硬件(主要是pic)打交道的代码都集中在hal的一个角落里,hal的大部分以及全部的kernel只和一个虚拟的中断控制器打交 道。在这个虚拟的中断控制器里,nt定义了32个软件中断级别,当硬件中断发生的时候,hal将硬件中断映射成这32个软中断之一,并更新虚拟中断控制器 的内部状态保持和硬件中断控制器同步。从kernel往上到执行体以及驱动程序,所有的代码也都是和这个虚拟出来的中断控制器打交道,最大量使用的操作是,ke、ex或者driver通过操纵irql来控制当前活动的优先级,使得低优先级的活动不至于干扰当前计算任务,同时保持对高优先级计算任务的及时 响应。于是,nt可以将不同的计算任务分配到不同的优先级上,从而为高效使用cpu资源提供了相当的灵活性。
转载于:https://blog.51cto.com/dog250/1274174