PASSIVE_LEVEL
普通线程执行中断等级,大多数文件系统驱动被要求提供线程在IRQL PASSIVE_LEVEL等
级执行的功能,虽然这不被关心.大多数LOWER-LEVEL驱动,例如设备驱动,在高于
PASSIVE_LEVEL的IRQL等级被调用.这个IRQL也叫做LOW_LEVEL.
APC_LEVEL
异步过程调用(APC)中断等级.APC被软件软件中断调用,然后会影响目标线程的控制流.APC
的目标线程将被中断,然后创建APC是指定的过程将会在中断线程的上下文中在
APC_LEVEL等级执行.
DISPATCH_LEVEL
线程分派(调度)和延迟过程调用(DPC)中断等级.DPC在第三章结构化驱动开发中描述,一
旦线程的IRQL升到DPC或更高,线程调度自动被暂停.
DEVICE INTERRUPT LEVELS(DIRQL)
设备IRQL等级的平台相关的数字和值.
PROFILE_LEVEL
定时器用来压型(PROFILING)
CLOCK1_LEVEL
定时器时钟一间隔时间
CLOCK2_LEVEL
定时器时钟二间隔时间
IPI_LEVEL
只用于多处理器系统的处理器间中断等级
POWER_LEVEL
电源故障中断
HIGHEST_LEVEL
通常用于机器自检和总线错误的中断
APC_LEVEL和DISPATCH_LEVEL中断是软件中断,他们由内核模式代码请求,比其他所有
的硬件中断等级的优先权底.在CLOCK1_LEVEL和HIGHEST_LEVEL的中断是
TIME_CRITICAL(时钟中断)中断,因此在线程执行中有最高优先级.
支持内核对象
NT内核努力维持一个基于对象的环境.提供一个核心对象集让NT执行体使用,同时提供访问
和操作这些对象的函数.注意NT内核不依赖对象管理器来管理内核定义的对象类型.NT执行
体使用内核输出的对象来构造更复杂的对象供用户使用.
内核对象有以下两种类型:
DISPATCHER OBJECT
这些对象控制同步和分派系统线程.包括THREAD,EVENT,TIMER,MUTEX和SEMAPHORE
对象类型.在第三章有这些对象的描述.
CONTROL OBJECT
这些对象影响内核模式代码的运行但不影响分派和同步.包括APC,DPC,中断,进程和设备队
列对象.