zoukankan      html  css  js  c++  java
  • WDM学习方法

    WDM虽然已经不是M$最新的驱动模型了,但NT内核在当今计算机操作系统中的地位还是无法动摇的。学好WDM吧。

    《Programming the Microsoft Windows Driver Model》这本书是相当经典的,必须反复读。

    硬件工作原理要懂,如何控制硬件。

    IRP的处理需要好好研究,最好去看2000泄露的源码,或者WRK源码。里面有IRP相关的,NtWriteFile,IoCompleteRequest,IoCancelIrp等的处理流程。WRK的源码足够理解内核大部分机制了。

    理解IRQL模型,理解内核如何管理中断,各IRQL时,内核会干什么

    对多任务要有更深刻的认识,到底谁会抢断谁,关键抢断后对数据的影响是什么,如何避免影响。

    深刻理解Windows异步模型,Windows有很多操作都是异步的,要知道一个API调用后会发生什么就必须理解异步,要想到中间可能会发生什么,最终发生错误可能是什么原因引起的

    学会用WinDbg,千万别自以为是,认为自己的逻辑是相当完备的,在自己的逻辑下可以一次通过,不会发生任何错误。这个主要原因是Windows内部机制不是那么容易知道细节的,即使容易知道,你也不会一一去考证,很多你只是凭自己的理解,猜想,而已。这时候WinDbg就可以调试错误,如果你在错误的时候深入挖掘原因,那以后就不容易犯同样的错误。

    千万不要用DDK的例子去开发,例子永远只是例子,一定要清楚自己的开发要干什么,如何实现。例子的很多方法是可以借鉴的,可以帮助去理解DDK文档,因为例子里有些注释还是很有用的。

    理解操作系统组件,比如IO管理器,PnP管理器,对象管理器等,最主要是理解他们直接的协助关系。

    动手,一定要多动手。一定要从学习中解放出来,学会用理论指导实践

  • 相关阅读:
    软件测试的术语及解释总结
    测试工具
    数据库客户端连接
    应用程序发生错误怎么修改
    软件测试容易忽略的缺陷
    LR中错误解决方法
    LR结果分析2
    LR结果分析
    Hive
    zookeeper
  • 原文地址:https://www.cnblogs.com/iwasmu/p/1498003.html
Copyright © 2011-2022 走看看