内核开发高级课程:多线程同步与IRQL详解.pptxVIP

  • 0
  • 0
  • 约1.34万字
  • 约 42页
  • 2026-07-13 发布于北京
  • 举报

内核开发高级课程:多线程同步与IRQL详解.pptx

麦洛克菲内核开发第三课

多线程同步/IRQL/内核数据结构麦洛克菲荣

提纲多线程中断运行级别(IRQL)多线程安全同步互斥内核数据结构杀进程作业

线程的运行级别(IRQL)神马是中断?中断优先级无中断: PASSIVE_LEVE(0) 软中断: APC_LEVEL(1) DISPATCH_LEVEL(2) 硬中断: DIRQL 设备中断请求级处理程序执行PROFILE_LEVEL 配置文件定时器CLOCK2_LEVEL 时钟SYNCH_LEVEL 同步级IPI_LEVE 处理器之间中断级POWER_LEVEL 电源故障级

如何遵守中断级别要求?明白驱动中各个函数的中断级别明白要调用的API的运行级别RtlCopyUnicodeStringPASSIVE级别可以使用任何函数和内存DISPATCH级别只能访问能运行在DISPATCH级别的API和非分页内存NONPAGEPOOL内存可在任何级别使用PAGEDPOOL只能在PASSIVE_LEVEL和APC_LEVEL使用在PASSIVE和APC级别代码中加:PAGED_CODE()宏#definePAGED_CODE()\{if(KeGetCurrentIrql()APC_LEVEL){\KdPrint((EX:Pageablecodecalledat

文档评论(0)

1亿VIP精品文档

相关文档