一种新的设备驱动开发模型研究

一种新的设备驱动开发模型研究

ID:33769284

大小:236.67 KB

页数:3页

时间:2019-03-01

一种新的设备驱动开发模型研究_第1页
一种新的设备驱动开发模型研究_第2页
一种新的设备驱动开发模型研究_第3页
资源描述:

《一种新的设备驱动开发模型研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据2006年第4期福建电脑155一种新的设备驱动开发模型研究安丰民1.张涛2(1.贵阳市经济贸易学校,贵州贵阳5500052.电子科技大学计算杌科学与工程学院,四川成都610054)【摘要】:该文指出了传统的设备驱动程序开发模型存在的弊端,并介绍一种新的驱动程序开发模型SNAP(S)TstemNeutralAccessProtoc01)和基于该模型的驱动程序的测试过程。【关键词】:操作系统;驱动程序;驱动测试1.前言设备驱动程序是一组软件的集合.操作系统和应用程序通过设备驱动程序来访问硬件设备。设备驱动程序作为系统程序的一部分

2、,实际上它是一组数据结构和函数。这些数据结构和函数通过精心定义的接口。控制一个或多个设备.并与系统的其它部分交互13】。对驱动程序的开发我们一直延续着传统的设备驱动开发模型,在操作系统和设备越来越多样化的今天。人们对设备驱动程序的日益增长的需求和现有的驱动程序开发模型之间的矛盾越来越明显,其结果导致了今天的驱动程序危机:我们无法提供大量的驱动程序来满足不断增长的需求。其根本原因在于传统的驱动开发模型不合理.导致了驱动程序的开发效率低和测试周期长等缺点。在这里我们介绍一种新的开发模型SNAP.SNAP模型的最初想法来自于在不同的操作系

3、统平台下实现对驱动程序代码的共享。该模型有效地提高了设备驱动程序的开发的效率.缩短了驱动程序测试的周期。同时该文将介绍SNAP模型下驱动程序的测试方法。在该文的第二节我们将说明传统的驱动开发模型并指出其存在的弊端;第三节将说明SNAP的驱动开发模型:第四节说明基于SNAP模型的驱动测试过程。第五节对SNAP的驱动模型进行总结。2.传统的驱动开发模型传统的设备驱动按照图一所示的开发模型进行。我们可以看到设备驱动程序处于硬件和操作系统之间。应用程序对硬件的访问流程:(1)应用程序通过操作系统提供的API和操作系统实现通信。(2)操作系统

4、将应用请求提交给相应的设备驱动。图l传统设备驱动开发模型(3)设备驱动中实现了硬件相关的操作以及针对设备的一些较高级别的操作.在传统的设备驱动开发模型中。驱动程序和硬件设备、操作系统三者是紧密耦合在一起的。这样就导致了不同的操作系统和硬件设备间缺少一种统一的可共享的驱动源代码。对于在不同操作系统或硬件上实现相同功能的驱动程序.我们需要将驱动程序从一个类似的系统移植到另一个系统。其结果如图2所示:图2传统开发模式下驱动程序的移植设备驱动程序要求复杂的测试和验证来保证操作的正确性。在某些情况下,一些设备驱动程序要支持多种硬件。由于测试过

5、程的长时间性.在新的驱动程序版本发布的时候很难保证在较老的硬件上能得到完全的验证。结果是驱动程序对较老设备的支持变得越来越差。同样由于要提供驱动程序来支持较多的操作系统的代价太大.大多数的硬件厂家选择了对主流的操作系统的支持。在传统的开发模式下驱动程序包含了两个紧密相结合的组成部分:操作系统相关部分、硬件相关部分。传统驱动模型不仅导致了开发的效率不高.并且驱动程序的测试周期长等缺点。3.SNAP驱动开发模型SNAP开发模型中。我们把驱动程序分成以下三个独立的部分:操作系统相关部分、SNAP驱动、硬件相关部分。(11操作系统相关部分:

6、每一种操作系统都定义了自己支持的设备驱动程序接口。既然不同的操作系统提供了不同的设备驱动接口来管理设备驱动程序。这一部分是操作系统不可分割的。在SNAP驱动模型中.我们把和操作系统相关的部分分离出来.通过一个被称为是SNAP‘‘外壳”驱动(shelldriver)来实现操作系统和驱动程序的连接.外壳驱动不包含和硬件相关的代码,该部分负责接收来自于操作系统的请求信息,通过一些必要的代码将操作系统和SNAP驱动连接起来。f21硬件相关部分:SNAP驱动通过接收来至“外壳”驱动的请求.启动对于硬件设备的相关的操作。由于和硬件相关的部分在不

7、同的操作系统平台下都是不发生变化的.并且这部分又不包含和操作系统相关的代码.因此在实现上将和设备相关的代码做成一个可被移植的模块。一个重要的优点就是对某设备相关的代码只需要开发一次.大大的缩短了对某设备在不同的操作系统上开发驱动程序的时间。SNAP驱动:SNAP驱动本身既不包含任何和操作系统相关的代码.也不包含和设备相关的代码.所以SNAP驱动程序可以在任何的操作系统平台下使用。而不需要做任何修改。SNAP的驱动开发模型图3所示:‘西一焉~禹一芒应用程序⋯r弧3、硬件图3SNAP的驱动开发模型4.对于驱动程序的测试和验证SNAP的设

8、备驱动程序的验证和传统方式下的验证方法不同,由于把驱动程序分成了三个独立的部分,所以测试也分成几个步骤进行。把硬件相关部分的测试和操作系统相关部分的测试分开。这两步可以同时进行。对于嵌入式系统上开发设备驱动程序。这种思想大大缩短了开发

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

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

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