Interrupt Request Levels and DPCs

1,IRQLs(Interrupt  Request  Levels)

IRQLs is used to synchronize kernel mode activity.In windows NT,higher priority activities or events interrupt those activities or events running at low priorities.The relative priority of an activity within the windows NT is defined by its Interrupt Request Level(IRQL).NT uses a set of mnemonics to define IRQL values.the lowerest priority level is PASSIVE_LEVEL(digital 0)and the bigest priority is HIGH_LEVEL(digital 32).All user thread take place at IRQL PASSIVE_LEVEL .

IRQLs are best thought of as interrupt priorites but they are not scheduling priorites.Most executive-level routines in windows NT strive to keep the IRQL as low as possible(PASSIVE_LEVEL).APC LEVEL(digital 1)is used by kernel mode routines to control re-entrancy when processing asynchronous procedure calls(APCs).The APC is requested by generating a software interrupt at IRQL APC_LEVEL.IRQL DISPATCH_LEVEL is used within windows NT for two different activites.one is processing deferred procedure calls and another is running the dispatcher.The windowsNT dispatcher receives requests to perform a reschedule operation at IRQL DISPATCH_LEVEL.


2,Deferred Procedure Calls

DPCs are callbacks to routines to be run at IRQL DISPATCH_LEVEL.DPCs are typically requested from higher IRQLs to allow more extended,non-time-critical,processing to take place. A request to execute a particular DPC routine is made by placing the DPC object that describes that describes that DPC routine into the DPC Queue of a given CPU,and then requesting an IRQL DISPATCH_LEVEL software interrupt.the DPC queue is serviced by the microkernel,each time the DPC queue is serviced,all entries on the DPC queue for the current processor are processed


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值