竹林蹊径-读书笔记-1
勿在浮沙筑高台。
下午浏览了本书的三章,说是浏览,也比较费劲,因为是windows的内核驱动程序开发,涉及到操作系统的内核运行原理。虽然推理不多,但是每一个模块都有相应的模型,而模型需要的各个概念,包括背景知识自己了解的太少。
背景知识在潘爱民写的序里面倒是有几个;
当windows内核驱动程序被加载到内核并启动后,它们就成为内核的一部分,驱动程序中的接口函数在恰当的时候被内核调用,这是windows驱动程序的基本工作方式。
MS定义了WDM(windows驱动程序模型)来规定驱动程序的结构,以及内核如何与WDM驱动程序打交道。
为便于windows驱动程序开发,MS定义了一个windows驱动程序框架(WDF,windows driver framework)。
牛不是一天吃大的,需要不断吃草。牛人要有牛技术,牛技术就是核心竞争力。搞技术,特别是在windows平台上,不建议大家怀旧,跟着趋势走是必然的。
关于第三章的笔记:
WDF是作者极力推崇的,它的诸多优点不一一列举(下图是其内核框架)。
WDF的最大价值是:实现了三个重要模块——对象模块、IO模块、PNP/电源模块。
内核中的绝大多数称为对象的,其实就是结构体变量。我们看不到对象,只能看到句柄,就是指针长度的索引。WDF框架对象的编程接口类似于PME(Property/Method/Event)。WDF的对象模型使用了父子概念。驱动对象是最重要的框架对象,它是其他框架对象的父对象。
只要多添加一个间接层,计算机科学就没有对此解决不了的问题。
引起缓冲区溢出的根本原因是对缓冲区的长度缺乏必要的惊醒,解决的方法之一——把缓冲区长度作为缓冲区的一部分,和缓冲区指针放在一起。
WDF的一个主要特点:所有的东西都被封装成一个对象,而所有的操作都被定义成一个事件或回调。
posted on 2011-11-08 23:13 dragon@bupt 阅读(338) 评论(0) 编辑 收藏 举报