初学驱动开发书籍介绍
vba官方一、总述 (2)
1.1分类 (2)
1.2 目的 (2)
1.3 开发环境的建造 (2)
1.4 编写驱动程序的原则 (3)
1.5 计算机已知的挑选原则 (3)
1.6 购买方式 (3)
二、推荐的书目 (4)
2.1 《C程序设计》 (4)
2.2 《Windows 2000内部揭密》 (5)
2.3 《Microsoft Windows 驱动程序模型设计》 (5)
三、一般驱动开发书籍 (7)
3.1 Windows 2000设备驱动程序设计指南(原书第2版) (7)
3.2 WINDOWS NT与WINDOWS 2000设备驱动及开发 (8)
3.3 WINDOWS WDM设备驱动程序开发指南 (8)
3.4  Windows设备驱动程序(VxD与WDM)开发实务 (9)
四、相关推荐书目 (10)
4.1  Windows核心编程 (10)
4.2  LINUX设备驱动程序(第二版) (11)
五、烂书曝光 (12)
5.1 Microsoft Windows 2000驱动程序设计指南 (12)
5.2 VC++.NET开发驱动程序详解——Windows 2000/XP (13)
六、后记 (14)
一、总述
1.1分类
驱动程序按操作系统平台可分为两大类:Windows 系列与 Linux/Unix系统。而在Windows平台中又包含两大类:VxD(Virtual X Device)与WDM(Windows Driver Model),前者运行于Windows 3.1/95/98/ME,后者运行于Windows 98/ME/2000/XP。Windows NT4.0平台上的KMD驱动程序仅比WDM少了能量管理与即插即用功能而矣。当然,在Windows 2000平台上的驱动程序除WDM外,还有文件系统驱动、NDIS(Network Driver Interface Specific)驱动等等其它类型的驱动程序,但在下面的书籍推荐与介绍中我们将主要围绕WDM进行。
1.2 目的
我首先想问你:你为什么准备学习开发驱动程序?也就是说你学习开发驱动程序的目的是什么?
从事驱动程序的开发可获得较高的收入。那么让你失望了。这行业同其它IT行业一样,收入高的属于
少数技术水平高与开发经验丰富的人,虽然作驱动开发的人少,与你竞争的人也少,但相应的就业面(也就需求)也相对狭窄。
我是个硬件工程师,仅仅想作个驱动来调试硬件。那你可以学习使用WinDriver这个软件工具,它简单易用,上手快,对内核知识不需很多。只是据说效率上欠缺一些,不过我没具体测试过。
老板让我作个驱动程序;我想通过学习驱动程序开发了解操作系统;……好像也不需要这么多理由吧,那就让我继续吧。
1.3 开发环境的建造
首先安装好Windows操作系统;
然后安装VC(Virtual C++),一般来说需要VC6.0版本,好像最新的XP DDK不需要事先安装VC,但我没试过;
如果是Windows NT4.0,还需要安装Platform SDK;
然后到微软的网站下载相应的DDK(Driver Development Kits)开发包,比如你安装的是Windows 2000,你就一定只能安装2000DDK。不过,最新的XP DDK可不提供免费下载,只在MSDN中提供,微软总是不忘记赚钱。
最后,为调试方便,最好安装SoftIce,这个第三方软件支持单机调试,如果使用微软提供的WinDbg,还需要两台机器进行调试。
有些人还想安装Numega公司的Numega DriverStudio套件,我倒不太喜欢其中的DriverWork,它实际就是把DDK重新封装了。反而影响我们对程序流程的理解与调试。
1.4 编写驱动程序的原则
大部分编程问题都不得可分成两部分:机制(mechanism,即需要提供什么样的功能)与策略(Policy,如何使用这些功能)。程序员编写驱动程序时就特别注意:编写访问硬件的内核代码时不要给用户强加任何策略。因为不同的用户有不同的需求,驱动程序应该处理如何使硬件可用的问题,而将怎样使用硬件的问题留给上层应用。(--摘自《LINUX设备驱动程序》)
1.5 计算机已知的挑选原则
现在计算机书籍种类非常多,也是良莠不齐,我一般在挑选本着下面几条原则:a.尽量选用外国人写的书。也不能说是崇洋媚外,毕竟我们现在所使用的操作系统基本上都是老外们编写的,那当然他们将自己的经验写出来也比我们丰富一些吧。还有就是中国人实在不争气,常见中国人写的书由“某某编著”,这一个“编”字就可以到处Copy & Paste。
b.选用有名的出版社。国内的机械工业出版社、清华大学出版社等等,国外的如微软公司、O’Reilly等
1.6 购买方式
常有人想买某本书却买不到,或是到书店没看到此书。其实现在完全可以到网上买书,挑选方便快捷,品种丰富齐全,而且一般都有优惠,只是你若在小城市,从寄出货款到拿到书可需要点耐心,想当年我可是等了足有两个星期。具体的网址自己上网查询,省得有广告嫌疑。
二、推荐的书目
2.1 《C程序设计》
我首先推荐的就是这本谭浩强的《C程序设计》,如果你的C语言非常熟练,那么你就跳过这一节,否则的话,你还是从你的教科书中出这本,再仔细读两遍。一本书写出来十多年还有人用,这可是在IT技术更新换代飞速的年代,能作到这一点也足可见它的经典。虽然安装时需要VC,但在编写驱动程序时却用的是Ansi C,还不是C++,也不需要VC的集成开发环境。当然你也可以为方便使用VC的集成开发环境,并将代码封装成C++。
linux系统一般有4个主要部分C程序设计(第二版)
出版社:清华大学出版社
译作者:谭浩强
7-302-03806-6/TP.2205
html标签textarea国标编号: ISBN
出版日期: 1999年12月
26.00
定价: RMB
页数:388
内容简介:
C语言是国内外广泛使用的计算机语言,是计算机应用人员应掌握的一种程序设
计工具。
本书第一版于1991年出版,全书针对初学者的特点,精心策划、准确定位、概念
清晰、例
mysql当前根密码
题丰富、深入浅出,受到专家和读者的一致好评。普遍认为它是学习C语言的好教材,
被全国大多数高校选用。几年来发行量达270万册,创同类书发行量的全国纪录。被
电子工业部评为部级优秀教材一等奖。
根据发展的需要,作者对本书进行了修订,加强了算法,按C的新标准改写全书
各章,增加了C++的初步知识。
本书内容新颖、体系合理、逻辑性强、文字流畅、通俗易懂,是学习C语言的理
想教材。凡具有计算机初步知识的读者都能读懂本书。本书可作为高等学校各专业的
正式教材,也是一本自学的好教材。
评论:
想必是大家C语言的教科书吧,大家都知道内容的,我也就不多评论这
本书,但我想这本书的发行量在世界的电脑科技书刊界上都应该是前十位吧,要知道谭浩强的《BASIC程序设计》可是世界上科技书刊发行量最大的。
备注:“内容简介”是原书自带的内容介绍,“评论”才是我作出的评价。
2.2 《Windows 2000内部揭密》
有时怨不得作Unix/Linux 的人瞧不起作Windows 的人,因为前者对操作系统的了解比后者更为深入一些。随便翻开一本Linux 开发的书籍,上面就有关Cache 、文件系统、IPC (进程间通信)等等内容,
而Windows 这方面的书籍是少之又少,大概与Microsoft 的绝不公开源码有关,而能写得通俗易懂又这么精彩就更少了,很幸运,我们到了这本书。如果你英文流利的话,最好看原版书Inside Microsoft Windows 2000 , Third Edition 。
Windows 2000内部揭密
activiti流程图
出版社:
机械工业出版社 译作者: (美)Mark E.Russinovich 著
詹剑锋等译
国标编号: ISBN 7-111-09100-0/TP.2018
出版日期: 2001年10月
linux操作系统书籍
定价: RMB 69.00
页数: 568  内容简介:
本书深入揭示Windows 2000内部结构和运行机制,涉及Windows 2000最基础的系统组件和基本概念。主要内容包括系统体系结构、系统机制、管理机制、内存管理、安全机制、I /O 系统、文件系统、网络体系等。本书用大量实验展示了Windows 2000的内核,有效地使读者深刻地理解Windows 2000系统,充分利用该系统进行应用开发。配套光盘包含本书电子版,以及展示Windows 2000内核的工具。
评论:
作为编写上层服务或是界面程序的Programer ,你可以不了解操作系统内的机制与流程,但你是在编写驱动程序,是工作在Ringe 0,你的Bug 会导致系统的崩溃,所以你必须掌握(至少也要了解)Windows 系统的知识。
这本书对内存管理、I/O 系统、高速缓存、文件系统、网络等作了详细的描述,由于Windows 本身的封闭性,能这么详实、准确地介绍Windows 2000操作系统的内部的书真是少有。虽然这里没有哪一章
是单独介绍驱动程序的,但实际它无处不在,特别是在I/O 系统这章介绍得更为详尽。
当然,这本书不是教你如何编写程序的,所以此书基本上没有代码实现的例子,但它教你使用几种工具来观察、调试内核。
2.3 《Microsoft Windows 驱动程序模型设计》
这本书太经典了,虽然价钱上是贵了一点,但你多读几遍,就会发现物超所值。要知道它的实际作者是Walter Oney (个人网站soft ),他写的书从来都不会让人失望的。据说在今年年底,他将出版本书的第二版。
Microsoft Windows 驱动程序模型设计
出版社:北京大学出版社
译作者: Microsoft公司
国标编号: ISBN
7-900629-34-3/TP.28
出版日期: 2000年9月
98.00
定价: RMB
页数:626  (1CD)
内容简介:
本书是《微软编程圣典丛书(影印版)》之一,讲述Windows 98和Windows 2000下的驱动程序模型设计,内容涉及WDM、内存和数据结构管理、注册和文件访问、多任务和多处理器环境中的驱动程序开发、I/O处理、设备读写、WMI、USB体系结构下的设备驱动程序开发等。为了增加本书的实用性,
特以配套光盘的形式提供了丰富的程序实例、驱动程序创建向导、处理即插即用和电源管理中的细节问题的库,以及本书的电子版。
本书由微软公司组织专家编写,具有相当的技术深度,是中、高级程序员必备的参考书。
评论:
这本书堪称经典之作,详细介绍了关于WDM驱动程序的方方面面,由浅及深地讲述了驱动程序中的I/O Request Packet、即插即用、读/写数据、能源管理等,并用专题讲述过滤驱动程序、日志、定时器、USB及驱动程序的安装/卸载等内容。在结合代码讲述时,也不象有些书一附代码就是几十页,他一般是一段代码不超过一页,对这段代码的解释往往不止一页。
这么说,这本书既可是菜鸟级人物的快速上手的教科书,也可以是高手的速查手册。
对了,还忘了这本书所附光盘上的一个非常非常好的东东WDMWiz.awx。你是不是要问这个有什么用?有不少初学者不喜欢nmake式的命令行编译,也有初学者不知怎么样才能构造驱动程序的框架,用这个东东,就可以在VC这个集成开发环境中象开发一个界面程序一样,一步步按照你的需要搭建出一个驱动程序的框架,而且就在VC这个IDE中就可以编译了。
要说这本书有什么不足,那就是他没包含文件系统驱动与网络驱动(NDIS),还有就是它是 In Englis
h(不过,网上有人翻译成中文)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。