设备驱动开发大作业

设备驱动开发大作业

ID:5950882

大小:85.00 KB

页数:0页

时间:2017-12-29

设备驱动开发大作业_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《设备驱动开发大作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《驱动程序开发技术》大作业——WDM驱动程序的开发流程和要点摘要WDM(WindowsDriverModel)是Microsoft公司推出的一种符合Windows2k/XP下的内核模式驱动程序的分层体系结构的驱动程序模式。它源于WindowsNT的分层32位设备驱动程序模型,它支持更多的特性,如即插即用(PnP,PlugandPlay)、电源管理(PM,PowerManagement)、Windows管理诊断(WMI,WindowsManagementInstrumentation)和NT事件。它为Windows操作系统的设备驱动程序提供了统一的框架,在Windows平台上,WD

2、M将成为主流的驱动模式。WDM是Windows98和Windows2000使用的新的驱动程序设计规范。使用WDM使得硬件驱动程序更加稳定,让操作系统对硬件更加有效地控制硬件。除了定义一个驱动程序与操作系统连接的标准接口以外,WDM也指明了驱动程序应该采用的更加模块化的设计。WDM引入了功能设备对象FDO(FunctionDeviceObject)与物理设备对象PDO(PhysicalDeviceObject)两个新类来描述硬件,一个PDO对应一个真实的硬件。一个硬件只允许有一个PDO,却可以拥有多个FDO,在驱动程序中直接操作的不是硬件而是相应的PDO和FDO。关键词:WDM;驱

3、动程序;操作系统;FDO;PDOWDM驱动程序的开发流程和要点1概述WDM(WindowsDriverModel)是Microsoft公司推出的一种符合Windows2k/XP下的内核模式驱动程序的分层体系结构的驱动程序模式。相对于以前的KDM、VXD来说,它的性能更高、系统之间移植更加方便。随着Microsoft的操作系统的不断升级,WDM已逐步取代了KDM、VXD,成为了Microsoft系统下驱动程序开发的主流。WDM引入了功能设备对象FDO(FunctionDeviceObject)与物理设备对象PDO(PhysicalDeviceObject)两个新类来描述硬件,一个P

4、DO对应一个真实的硬件。一个硬件只允许有一个PDO,却可以拥有多个FDO,在驱动程序中直接操作的不是硬件而是相应的PDO和FDO。WDM是通过一个128位的全局唯一标识符(GUID)实现驱动程序的识别。应用程序与WDM驱动程序通信时,应用程序将每用户请求形成I/O请求包(IRP)发送到驱动程序。驱动程序识别出IRP请求后指挥硬件执行相应操作。2WDM驱动模型2.1Windows2000的系统结构驱动程序最终成为操作系统的一部分,要写好驱动程序,必须先了解操作系统的体系结构,以及驱动程序在操作系统中的位置。如图1显示了Windows2000的体系结构。图1Windows2000的体

5、系结构如图所示,在Windows2000操作系统下,一部分组件运行在用户模式下,另一部分则运行在内核模式下。如果用户模式下的应用程序要对设备进行操作,则它调用对应的Win32API函数。这个调用由I/O管理器接收,I/O管理器为这个调用构造一个合适的I/O请求包(IRP)。然后I/O管理器把IRP传递给相应的设备驱动程序(其实是一个设备驱动程序栈)。这样,驱动程序处理这个IRP。当要访问硬件时,驱动程序通过调用硬件抽象层函数实现。驱动程序处理完这个请求后,会将处理结果返回给I/O管理器,再由I/O管理器将执行结果返回给用户模式下的应用程序。2.2WDM驱动程序模型WDM驱动程序采

6、用了基于“对象”的技术,建立了一个分层的驱动程序结构。图2表示了WDM驱动程序模型的层次结构。图中左边是一个设备对象栈,每一层驱动程序都有一个对应的设备对象,设备对象是操作系统为了帮助驱动程序管理硬件设备而创建的一种数据结构。I/O管理器保证用户请求(IRP)从设备栈的顶部进入,这样任何高层的过滤驱动程序或功能驱动程序就得到了首先处理IRP的机会。图2WDM的层次结构每个硬件设备至少包含2个驱动程序,即总线驱动程序和功能驱动程序。总线驱动程序由操作系统提供,它负责枚举总线,并且为发现的每一个设备创建一个物理设备对象(PDO),用来在整个系统中标识这个硬件设备。一切与硬件设备相关的

7、操作都由功能驱动程序来实现。例如,对硬件设备进行初始化,处理应用程序的输入输出请求,对硬件中断的处理,对PnP的支持等。WDM是一种便捷式的编程技术,它使开发人员写出的驱动程序可以跨平台运行,支持编写微软所支持的WDM总线驱动程序,在WDM中"总线"(Bus)的概念是一种附加在其它设备(包括物理设备、逻辑设备、虚拟设备)上的设备协议,例如WindowsXP内置的WDM技术支持的总线类型包括:PCI(PeripheralComponentInterconnect)、动态式即插即用串

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。