Menu
Woocommerce Menu

Windows的驱动模型概念,Windows设备驱动程序

0 Comment


   1.  前言

WDK(Windows Driver
Kit)是生机勃勃种截然集成的驱动程序开辟连串,它蕴含 Windows DDK,用于测量试验Wi
ndows 驱动器的可相信性和安静性.

Windows的驱动开垦模型

寒江独钓:Windows内核安全编制程序(china-pub到货首发)

因职业上种类的内需,作者供给做驱动相关的开垦,以前并不曾接触过相关的学识,折腾后生可畏段时间下来,功用如需兑现了,也储存了有个别经历和见地,所以在那做番总括。

WDM 是 Win32设备驱动程序系列布局

我直接感觉,编写程序是生龙活虎件很奇异的专门的工作,它能够拉动创制和垄断的私欲。每当笔者读书恐怕编写后生可畏段代码时,脑子里自然地就能够捏造这段代码怎么样做到预订的逻辑。当面前境遇贰个面生的支付景况,大概多个新的底蕴平台时,首先要精晓那个碰着照旧平台是怎样专门的学问的,以致提供了怎么职能。代码自身大概特别复杂,以至奥密无穷,但平时状态下,真正美貌的高素质代码往往是轻易的、易于精通的。对于代码编写者或许维护者来讲,真正见武术的地点不在于代码自己,而在于对下层开采平台的知道和理解手艺,可能那正是俗称的“内功”。

 

图片 1

对此驱动开荒的支付指引,微软官方文书档案网站已经提供了很详细的课程文书档案,况兼在Github上提供了生机勃勃多种规范的例程源码用于开辟职员参谋。开荒人士在富有一定的驱动概念知识后,通过参考官方例程能够非常轻易完结全体一定作用的驱动应用程序。

Windows设备驱动程序,过去是WDM(Windows
Driver Model)框架,编程复杂,初读书人难以调控其编制程序
要点。为精晓决那意气风发标题,微软对WDM驱动程序的架构做了改进,形成了崭新的WDF(Windows
Driver F
oundation)架构。它提供了面向对象和事件驱动的驱动程序开拓框架,大大裁减了成本难度。从现
在初叶,领悟Windows设备驱动程序的开荒人士,由过去的“专门的学业”职员,将改为“普通”大众。

本条观点既适用于选取软件程序员,也适用于系统软件程序猿。对于利用软件程序员,低层的利用开拓平台是永葆应用开垦的底蕴,比方,基于Windows
SDK来支付Windows应用程序。那么,技师有要求知道Windows
SDK中的基本要素,诸如音信分发机制、种种图片成效等。在这里种气象下,阅读一些卓尔不群的例子程序代码往往能起到高速引领入门的遵守。相符地,C/C++程序员尽管局限于C/C++语言本身,很难编写出高水平的实用程序。他们不仅仅要调控C/C++运转库中等学园函授数和系列的用法,以致还要精通这一个函数和类别的完结机理。就算源代码层面上的库,举例STL(C++的正经八百模板库),也急需了然其代码完结本领灵活自如地用好这个库(举个例子STL中的各样容器数据结构、迭代器或算法)。

   
在Windows的例外版本上付出的驱动程序“模型”(模型这几个词语应该来自单词“Mode”。在Windows
NT上,驱动程序被叫作Kernel Driver
Mode驱动程序。笔者认为那些Mode是指大器晚成种驱动程序的协会和平运动作的正经),有过差异的名目。举例在Windows
9x上的驱动程序,都叫作VXD,而在Windows
NT上的驱动程序被称呼KDM驱动程序,Windows
98~2002以那时候期现身的新模型叫做WDM。
   
Windows的驱动模型概念,本来是就驱动程序的行为来说的。譬喻WDM驱动,一定要满意提供n种被要求的风味(如电源管理、即插即用)才被喻为WDM驱动。假设不提供那个作用,那么统大器晚成称为NT式驱动。同样的,WDF驱动也可能有它的生机勃勃多重专门的学问。
    但是本书接受轻便的分歧方法。将全体在Windows 2000~Windows
Vista下能平常运营且未调用WDF相关的内核API函数的驱动都称呼古板型驱动(包涵NT式和WDM)。就算调用了WDF相关的内核API则称为WDF驱动。
请在意:WDF驱动是足以调用古板型驱动所调用的内核API的,WDF能够算得守旧型的进级版。
   
模型的上进并非和操作系统版本的晋级齐步走的,而是有二个逐步取代的长河。比方Windows
98已经支撑部分的WDM驱动程序,可是又扶持部分的VXD驱动。而到了Windows
二零零二,则VXD这种驱动程序完全被淘汰了。KDM则是WDM的前身。WDM是在KDM的根基上扩张了意气风发部分新的天性,制订了一些新的规范而作育的。绝超过1/3函数调用都是通用的。当然,Windows
9x体系的水源完全差异,所以VXD与之相比较,就不曾三个内核API函数是完全一样的。
    故而随着Windows 9x的打入冷宫,VXD难逃深透被淘汰的命局。Windows
NT则发展成了后来的Windows版本,KDM也改为了WDM而存在下去。当然,微软不会闲着,今后又推出了新的WDF。读者又不能不担忧:本书是用WDM写的依然用WDF写的呢?会不会刚刚学完又被淘汰呢?
   
和VXD不一致,从KDM到WDM再到WDF是世代相承的,基本上KDM技术员在读书WDM时早就占尽了造福。到WDF也不例外,WDF与其说是新的驱动开采模型,还不及说是在本来就有个别内核API和数据结构的底子上,又装进出风姿浪漫套让使用者以为更简单、更易用的以Wdf-从前的大器晚成组API。因而,读者完全没供给挂念WDF的向上会让日前学习古板型驱动的努力半途而返。贰个规范的事例是:大概在一九九三年到一九九四年间揭橥第2个版本的硬盘上层过滤diskperf的代码,18年过去了,前德州旧能够编写翻译并不奇怪在风靡版本的Vista上运营。
   
本书对于大大多不可能找到WDF实例的章节,都利用了古板型驱动进行表明。比方磁盘过滤、文件系统过滤和网络中间层驱动。其余为了从简单动手,对于入门级的四个例证(串口和键盘)也使用了守旧型驱动。然而虚构磁盘和杜撰网卡(第5章和第11章),使用了WDF版本的例证,请读者注意甄别。

【作  者】谭文;杨潇;邵坚磊等
【丛 书 名】 驱网焦点技能丛书 
【出 版 社】 电子工业出版社     【书 号】 9787121087967 
【上架时间】 二零一零-5-25 
【出版日期】 二零一零 年1十月 【开 本】 16开 【页 码】 522

Windows驱动程序入门:

WDF驱动程序包罗七个类型,一个是内核级的,称为KMDF(Kernel-Mode Driver
Framework),为SYS
文本;另一个是客户级的,称为UMDF(User-Mode
Driver Framework),为DLL文件。

那正是说,对于系统软件程序员,“内功”是什么样吧?系统软件是指操作系统本人照旧依赖于操作系统上为利用软件提供服务的软件。系统软件或然有机缘跟硬件直接打交道,那给与了程序猿越来越强的调控工夫,他们有空子出席操作系统的作为逻辑,以至更换操作系统的行事特征。但随之而来的是对系统软件代码的越来越高必要。今世操作系统为利用软件提供了很强的容错才具,应用程序的破产经常不会提到到操作系统本身的安静,但操作系统对系统软件的容错技巧却比较单薄,究竟系统软件运转起来然后可能被融合到操作系统的施行逻辑中成为操作系统的生龙活虎有个别。因而,精通和摆布操作系统的运转坐飞机制作而成为系统程序员编写出精确、高效的系统软件的基本前提。所谓“内功”,便着落在那。

市场价 :¥75.00
会员价

¥56.25(75折)

Github:

 

在Windows平台上开拓软件,编写Windows内核驱动程序是十二万分考验技术员“内功”的。内核驱动程序的代码量平时极小,但驱动程序框架中的任何二个函数,甚至那个函数中任何生机勃勃行代码背后都大概包罗着复杂的逻辑,也许隐式的需求和要是。即便驱动程序编写者在纯粹自行定义的函数中,也非得从长计议地青眼一些与遇到有关的要素,比方代码是还是不是可被中止、是或不是可重入,恐怕所援引的内部存款和储蓄器是或不是被换来到外部存款和储蓄器。另一面,应用程式开拓中的相当多定义,譬喻地址空间、内部存款和储蓄器管理、格外管理和四十二线程并发等,在驱动程序开垦中或然供给有不一致的通晓方法。别的,常用的C运营库函数基本上不再切合于驱动程序了,驱动程序编写者必得面临八个簇新的最底层情况和支撑平台。由此,要编写制定可科学运营的驱动程序,工程师不仅仅要领会地领略驱动程序所指向的对象设备或效果与利益(只怕满含硬件设施的种种风味),还要调节Windows内核是如何与驱动程序打交道的,以至基本中大多处理和平运动行机制,特别是内部存款和储蓄器管理、线程调整和现身调整。

样章无需付费试读:

 

 Windows的驱动开拓模型

当Windows内核驱动程序被加载到根本中还要运营未来,它们产生了Windows内核的风流倜傥部分,驱动程序中的接口函数在方便的每日被基本调用,那是Windows驱动程序的基本专门的学业章程。Microsoft定义了WDM(Windows驱动程序模型)来规定驱动程序的布局,甚至Windows内核怎样与WDM驱动程序打交道。WDM不独有包涵I/O管理器定义的驱动程序框架,还定义了在驱动程序中怎样支撑PnP(Plug
and Play,即插即用)、电源管理和WMI(Windows Management
Instrumentation,Windows管理典型)。因而,若要编写二个一心扶植WDM的驱动程序,也亟需通晓WDM中所涉及的次第内核组件。

【内容简单介绍】
本书从Windows内核编制程序出发,周到系统地介绍了串口、键盘、磁盘、文件系统、互联网等连锁的Windows内核模块的编制程序技术,以致基于那一个才能完成的输入密码爱惜、防毒引擎、文件加密、互连网嗅探、网络防火墙等音讯安全软件的中坚组件的具体编制程序。主要知识入眼包含:Windows串口与键盘过滤驱动、Windows设想存款和储蓄设备与存款和储蓄设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各种互连网驱动(包含TDI过滤驱动及3类NDIS驱动),以致最新的WDF驱动开辟模型。有援助读者熟知Windows内核驱动的体系布局,并明白新闻安全类的基石编制程序技巧。本书的绝大多数代码具有广泛的宽容性,切合从Windows
二零零四直接到当下风行的Windows 7 Beta版。.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图