网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
本月文章推荐
.设计模式基本思想.
.中间件技术研究(1).
.多条件数据库查询的优化方法.
.解析UML工作流管理系统(1).
.UML在嵌入式系统设计中的应用.
.软件开发方法综述.
.软件需求的关键:分解用例场景.
.软件工程-软件目的需求开发与管.
.添加聪明角色 让网页动起来.
.XAML开发入门之开发环境介绍.
.项目沟通管理与会议管理问题.
.系统约定:用UML描述工作流管理.
.深入分析ADO.NET中的DataSet对象.
.对比JSF在Eclipse 和 NetBeans中.
.对Windows .NET Server的评估.
.Linux中的Ramdisk与Initrd.
.窃取QQ中社会工程学的应用实例.
.团队协作关键做好三件事&一个.
.创建股票报价Web服务.
.QA与QC的良性协作.

Win32设备驱动程序的体系结构

发表日期:2008-3-23



  目前,由于需要支持新的业务和新的PC外部设备类型对驱动程序开发造成了新的挑战。新型总线增加了设备的数量和对设备驱动程序的需求。设备上各种功能的不断增加使驱动程序的开发变得越来越复杂。同时,快速反应的交互式应用程序要求将软件和硬件紧密的结合在一起。
1997年,在用于Windows 95和Windows NT的统一的Win32驱动程序模型(WDM)有了进一步的发展,将这些因素全部考虑在内。WDM答应使用一个单一的驱动程序源(x86二进制)来同时在Windows 95和Windows NT中实现对新的总线和新设备的支持。

  WDM的要害目标是通过提供一种灵活的方式来简化驱动程序的开发,使在实现对新硬件支持的基础上减少并降低所必须开发的驱动程序的数量和复杂性。WDM还必须为即插即用和设备的电源治理提供一个通用的框架结构。WDM是实现对新型设备的简便支持和方便使用的要害组件。

  为了实现这些目标,WDM只能以Windows NT I/O子系统提供的一组通用服务为基础。WDM改进了由一组核心扩展构成的功能实现对即插即用、设备电源治理、和快速反应I/O流的支持。除了通用的平台服务和扩展外,WDM还实现了一个模块化的、分层次类型的微型驱动程序结构。类型驱动程序实现了支持通用总线、协议、或设备类所需的功能性接口。类驱动程序的一般特性是为逻辑设备的命令设置、协议、和代码重用所需的总线接口实现标准化提供必要的条件。WDM对标准类接口的支持减少了Windows 95和Windows NT所需的设备驱动程序的数量和复杂性。

  微型驱动程序答应通用类驱动程序的扩展实现对特定设备协议或物理编程接口的支持。例如,一个微型驱动程序可以被用于实现对IEEE 1394总线类驱动程序的扩展,用于对特定主机控制器编程接口的支持。微型驱动程序非常易于开发,因为它们可以通过简单的扩展通用的类驱动程序接口功能来实现。尽管微型驱动程序设计简便,但是重复使用微型驱动程序模块所带来的优点也可以通过对标准设备编程接口的支持来实现。USB主机控制器接口(OpenHCI或UHCI)就是这方面的一个例子。

  模块化的WDM体系结构灵活统一的接口使操作系统可以动态的配置不同的设备驱动程序模块来支持特定的设备。模块化的WDM体系结构灵活统一的接口使操作系统可以动态的配置不同的驱动程序模块来支持特定的设备。一个典型的驱动程序堆栈由通用设备、协议、和用特定协议和特定总线的微型驱动程序联接的总线类驱动程序构成。例如,操作系统可以配置一个驱动程序堆栈来支持这样一个照相机,它的命令是用图象类定义的,并且它是根据来自IEEE 1394总线类的功能控制协议(FCP)类而发表的。这种灵活性还使其可以很轻易的支持一个多功能设备,仅需简单的实现一个微型驱动程序将多功能硬件与几个设备类的接口相连接。动态构造WDM驱动程序堆栈是实现即插即用设备支持的要害。

  WDM服务使实现一个用于Windows NT和Windows 95快速反应的模型成为可能。WDM提供了多个执行优先级包括核心态和非核心态线程、IRQ级别、和被延缓的程序调用(DPC)。所有的WDM类和微型驱动程序都作为核心态(第0层)的特权级线程(不会被CPU调度程序中断)执行。32个IRQ级可以被用于区分硬件中断服务的优先级。对于每个中断,DPC被排入队列等到被启用中断的IRQ服务例程完成后再执行。DPCs通过有效的减少中断被禁止的时间,使系统对中断的响应获得了很大的提高。对于使用多处理器的基于x86的PC系统,在Windows NT下对中断的支持是以Intel的多处理器规范1.4版本为基础的。

  对于需要活动的多媒体的应用程序,WDM在核心态提供了快速反应的接口来处理I/O流。WDM的流接口是通过标准的WDM类接口提供出的。对于WDM,一个多媒体流完全可以用一个或多个软件过滤器和设备驱动程序来处理。为了加速对I/O流的处理,WDM流可以直接对硬件进行访问,避免了由于进行非核心态和核心态之间的转换而造成的延迟,并且还省取了对中间I/O缓冲区的需要。

  要充分利用WDM提供的优点,建议你使用即插即用兼容的电源治理输入、声音、图形、和使用USB和IEEE 1394的存储外围设备。

  WDM驱动程序可以在Windows NT上与现有的Windows NT驱动程序共存,也可以在Windows 95上与现有的Windows 95驱动程序共存。
现有的Windows NT 和Windows 95驱动程序将继续被支持,但是却不能使用WDM的先进优点。由微软提供的可扩展的WDM类驱动程序是支持新设备的最好选择。在开始开发一个新的WDM类驱动程序之前,硬件开发者应当请教微软公司以取得对特定设备类的支持信息。一旦有可能,就采用仅编写一次类驱动程序,然后通过使用WDM的微型驱动程序来将其扩展成针对特定硬件接口的驱动程序的方法。
上一篇:IT 架构和应用程序的端到端测试 人气:424
下一篇:成功项目管理的20条经验 人气:512
浏览全部软件工程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐