textbox

IT博客 联系 聚合 管理
  103 Posts :: 7 Stories :: 22 Comments :: 0 Trackbacks

window 驱动

     摘要: 函数名字开头说明:
Ex: 管理层,Executive 的开头两字母
Ke: 核心层,Kernerl的开头两字母
Hal:硬件抽象层,Hardware Abstration Layer 缩写
Ob :对象管理,Object
Mm :内存管理 Memory Manager
Ps :进程管理 Process
Se :安全管理 Security
Io :I/O管理
Fs :文件管理 File System
Cc :文件缓存管理 Cache
Cm :系统配置 Configuration Manager
Pp :即插即用 Pnp
Rtl:运行时程序库 Runtime Library  阅读全文
posted @ 2011-07-29 19:44 零度 阅读(289) | 评论 (0)  编辑

     摘要: 方法:
1).通过提高或降低IRQL (只能适用于单CPU).
原理:当IRQL提高到DISPATCH_LEVEL的时候就不会出现线程切换.
注意:提升到DISPATCH_LEVEL的时候程序必须使用非分页内存.原因是分页内容随时都有可能把物理内存中的内容转存到磁盘文件内.读取一个不存在的物理内存中的分页内存会引发页故障 ,而在DISPATCH_LEVEL级以上的级别发生页故障是会引发系统崩溃.
使用: KeGetcurrentIrql 获取当前级别.
KeRaiseIrql提升级别
KeLowerIrql降低级别
2).自旋锁(Spin Lock)
原理:自旋所不同于一般的线程互斥,线程发生自旋锁它不会让cpu切换到别的线程工作.而是一直占用cpu.(在单cpu情况下自旋锁只是通过提升IRQL级别来阻止线程切换就是(1)的方法来实现的;多CPU就比较复杂一定.)
注  阅读全文
posted @ 2010-12-12 21:11 零度 阅读(947) | 评论 (0)  编辑

posted @ 2009-02-27 16:54 零度 阅读(575) | 评论 (0)  编辑