(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf_第1页
(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf_第2页
(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf_第3页
(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf_第4页
(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)windows无线网卡驱动及管理程序的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士学位论文w m d o w s 无线网卡驱动及管理程序的研究 w i n d o w s 无线网卡驱动及管理程序的研究 摘要 w l a n 、w i m a x 及m c w i l l 等无线接入技术正在快速发展,基于 无线网络的开发和应用正成为当前研究的热点。以笔记本电脑为载体的 p c m c i a 无线网卡是无线通信领域内应用较为广泛的硬件设备,因此设 计开发相应的无线网卡的驱动程序是有现实意义的。 当前所开发的无线网络驱动程序大都基于w d m 和n d i s 混合功能 驱动模型,导致程序过于庞大,功能模块复杂,不利于移植。针对这一 问题,本论文提出了一个同时具有w d m 功能和n d i sm i n i p o r t 功能的 驱动改进模型堋m 和n d i s 分层实现的总线驱动模型。利用这种 方式构建的驱动程序不仅各功能模块间关系简洁,而且具有良好的扩展 性和移植性。 本论文在研究w i n d o w s2 0 0 0 环境下的各类驱动开发模型的基础上, 结合六合万通公司w t 6 1 0 4m a c 芯片,基于本文所提出的w d m 和 n d i s 分层总线驱动模型,提出了无线网卡驱动的具体设计方案,并开 发了p c m c i a 无线网卡的驱动,设计实现了相应的驱动管理软件,通 过驱动管理软件,可以实现对驱动数据读取和设置。通过对驱动程序及 驱动管理软件进行测试,证明了w d m 和n d i s 分层总线驱动模型方案 的优越性。 关键词:驱动程序w d mn d i s 无线网卡总线驱动 北京邮电大学硕士学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 r e s e a r c ho nt h ew i r e l e s sn e t w o r k c a r dd i u v e ra n d i a n a g e m e n t a p p l i c a t i o no nw i n d o w s a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fw i r e l e s sn e t w o r ks u c ha sm ,a n w i m 气xa n dm c w i l l ,d e v e l o p i n gt h e a p p l i c a t i o nb a s e do nw i r e l e s s n e t w o r ki s b e c o m i n gm o r ea n dm o r ep o p u l a r t h ew i r e l e s sn e t w o r k i n t e r f a c ec a r d ( n i c ) w i t ht h ei n t e r f a c eo fp c m c i au s e do nl a p t o pi st h e m o s tp o p u l a rt y p e t h i sa r t i c l ef o c u s e so nt h ed r i v e ro ft h ew i r e l e s sn i c a tp r e s e n t m o s tn i cd r i v e r sa r ed e v e l o p e db a s e do nm i x e df u n c t i o n m o d e l t h i sk i n do fd r i v e rc a nn o tb ee a s i l yt r a n s p l a n t e db e c a u s eo fi t sl a r g e s c a l ea n dm e s sf u n c t i o n i no r d e rt os o l v et h i sp r o b l e m ,an e wi m p r o v e d m o d e lc a l l e dw d ma n dn d i sm i n i p o r ts t r a t i f i e dm o d e li sp r o p o s e d t h e n e wm o d e lh a st h ef u n c t i o no fw d ma n dn d i sm i n i p o r t w i t ht h eh e l po f t h em o d e l ,t h er e l a t i o nb e t w e e nm o d u l a rc a nb es i m p l i f i e d ,a sw e l la st h e d r i v e rc a nb ee a s i l yd e v e l o p e da n dt r a n s p l a n t e d a f t e rr e s e a r c h i n go ne v e r yk i n do fd r i v e rm o d e li nt h ee n v i r o n m e n to f w i n d o w s 2 0 0 0 ,t h ed e s i g no fw i r e l e s sn i cd r i v e ri sp r o p o s e db a s e do nt h e w d ma n dn d i sm i n i p o r ts t r a t i f i c a t i o nm o d e lo nt h ep l a t f o r mo f t 610 4 c h i p a n dt h ew i r e l e s sn i cd r i v e ri sd e v e l o p e da sw e l la st h ed r i v e r m a n a g e m e n ts o f t w a r et h r o u g hw h i c hc a ns e tt h ed r i v e r a f t e rt e s t i n gt h e d r i v e ra n di t sm a n a g e m e n ts o f t w a r e t h es t a t i s t i c ss h o w st h ea d v a n t a g e so n t h ea s p e c to fd r i v e rp e r f o r m a n c ea n dd e s i g nm o d e l k e yw o r d s :d r i v e rw d mn d i s n i cb u s 2 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:耋盈支皇剧 日期: 兰塑堡:墨:主 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期问论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 北京邮电大学硕十学位论文w i n d o w s 无线网卡驱动及管理程序的研究 1 1 研究背景 1 1 1 选题背景 第一章概论 无线接入技术的发展使人们摆脱了线缆的束缚,作为其中的代表之一,无线局 域网更是以其灵活性和高速率而倍受关注。同时,作为操作系统的主流平台 w i n d o w s ,基于它的无线网络的开发和应用也日益增多。鉴于此,在w i n d o w s 系统 下开发无线网卡的驱动也是一个研究热点,而且随着中国相关硬件产业逐渐进入成 熟阶段,对它有着相应的迫切需求。 在w i n d o w s 环境下对具有特定功能的硬件设备进行开发时,常会遇到对硬件设 备进行直接访问与控制的问题。以往在d o s 环境下比较简单,但是在w i n d o w s 环 境下,问题就复杂了。因为在w i n d o w s 操作系统下,c p u 运行于保护模式,并且 统一对硬件资源进行管理,执行于用户态的应用程序代码不能直接访问硬件,而是 要通过执行于核心态的设备驱动程序提供的各种服务间接的对硬件资源进行访问。 这种机制确保了系统的安全,但对于硬件驱动程序的开发过程也造成了一定的困 难。由于设备驱动程序需要与操作系统的底层进行交互,因此不同的操作系统底层 结构对应不同的设备驱动程序模型。w i n d o w s2 0 0 呱p 与w i n d o w s9 x 内部结构完 全不同,因此两种系统的设备驱动程序是不兼容的。由于各种操作系统的结构的不 同影响了设备驱动程序的兼性,为此微软公司推出了一种全新的w i n d o w s 驱动程序 模型( w d m ) 并在推出w i n d o w s2 0 0 0 操作系统时正式引入这一模型。w d m 是以 w i n d o w sn t 4 0 的内部结构为基础,同时引入了w i n d o w s9 x 的p n p 特性i 。 在w i n d o w s2 0 0 0 系统平台上运用w d m 模式开发出设备驱动程序,当驱动程 序装入后便成为了操作系统内核的一部分,用户应用程序可以用符合规范的方式访 问硬件,而不用考虑控制硬件的具体细节。但应用这种模式进行硬件驱动程序开发, 结构复杂难于理解特别是对初学者来说很难快速上手进行开发。 北京邮电大学硕:e 学位论义w i n d o w s 无线网卡驱动及管理程序的研究 目前的无线通信技术发展非常迅速,技术热点不断,研究和应用也相当活跃。 随着宽带业务的迅速发展,移动化和宽带化已经成为整个通信与网络技术领域的两 大技术发展趋势。而移动与宽带之间的结合移动宽带化、宽带移动化恰恰又是 代表着两个发展最快,最具发展前景的技术和业务趋势。 在最近几年宽带无线接入技术及其应用也得到了迅猛的发展。特别是 w 圳i e e e8 0 2 1 1 技术的逐渐普及和广泛应用,使得各种宽带无线技术开始凸现 其便利性和发展优势。移动通信从8 0 年代初期第一代模拟蜂窝移动通信商用开始, 基本上每1 0 年商用一代新的技术,每1 5 _ _ 2 0 年的时问退出一代技术。目前全球范 围内模拟移动通信已经基本退出历史舞台,占据移动通信市场9 8 以上的为第二代 移动通信( 2 g ) 和二代半( 2 s g ) n 络,第三代移动通信( 3 g ) 则已经步入规模商用阶段, 在今后1 0 年将是3 g 和2 g 长期并存发展的时期。随着技术的不断演进,频谱效率 越来越高,支持的速率也越来越高嘲。从目前2 0 2 5 g 的几十k b p s ,增加到3 g 初期 的几百k b p s ,再到3 0 增强型的几m b p s ,然后再到3 g 增强型的几十到上百m b p s , 再到后3 g b ( 3 g ) 的上百m b p s 1 g p b s 。目前,移动通信技术已经从z g 向提供越来 越高数据速率的3 g 、3 g 增强型和未来的b 3 g 演进,在向着宽带化方向迅速发展。 在最近几年宽带无线接入技术及其应用也得到了迅猛的发展。特别是 w ia m e e e 8 0 2 1 1 p 4 1 技术的逐渐普及和广泛应用,使得各种宽带无线技术开始凸 现其便利性和发展优势。w l a n ( w i f i ) 8 0 2 1 l b 发展迅速,截止到2 0 0 4 年9 月全球 的w l a n 热点i s l 就已经超过了4 5 万个,市场规模超过1 0 亿美元,而且还在稳步 增长。w l a n 虽然可以提供高达5 4 m b p s 的下行数据速率,但由于其覆盖非常有限, 一般只在一些热点地区覆盖,所以难以形成大范围覆盖,移动性有限。因此2 0 0 4 年初面向提供更高速率、更大覆盖和带有移动性的w i m a x 8 0 2 1 6 1 6 j 无线城域网技术 在全球得到了广泛关注。 尽管目前无线技术发展的很快但中国目前为止拥有自己自主产权的无线芯片 都还比较少,而对相关驱动的开发与研究也不是很多,我实习的六合万通公司,自 主开发万通四号( w t 6 1 0 4 ) 芯片,作为一款高度集成的无线局域网解决方案芯片, 完整实现了i e e e 标准所规定的8 0 2 1 l a b g 基带信号处理、协议处理、以及各种 附加增强功能模块。支持8 0 2 1 l b 要求的d s s s 、c c k 调制方式,和8 0 2 1 l a 所要 求的o f d m 调制方式,能够完整提供协议规定的1 m b p s 到5 4 m b p s 的全部传输 速率。通过大量独有专利技术,万通四号( w t 6 1 0 4 ) 能够提供业内领先的接收性 能。该芯片能够完成媒体接入层( m a c ) 所规定的所有协议,并针对语音通信和 o o s 的要求,加入了对8 0 2 1 l e 协议的支持。除此之外,万通四号( w t 6 1 0 4 ) 提供 北京邮电人学硕士学位论义w i n d o w s 无线网卡驱动及管理程序的研究 了大量的安全和加密算法,例如a e s 、t k i p 、w e p 、w p i 等,也是世界上第一款 支持w a p i 的芯片,并能有效融合8 0 2 1 l i 标准和w a p i 标准。我的主要工作就是 对无线网卡提供驱动的支持。 1 1 2 涉及的关键技术 本系统的设计和实现将涉及到如下的理论和技术: 1 w d m 驱动技术 w i n d o w s 驱动程序模型( w i n d o wd r i v e rm o d e l ) 川是w i n d o w s9 8 和w i n d o w s 2 0 0 0 使用的新的驱动程序设计规范。使用w d m 使得硬件驱动程序更加稳定,让操 作系统对硬件更加有效地控制硬件。除了定义一个驱动程序与操作系统连接的标准 接口以外,w d m 也指明了驱动程序应该采用的更加模块化的设计。 基本上,w d m 是w i n d o w s9 8 和w i n d o w s2 0 0 0 使用的新的驱动程序设计规范。 使用w d m 使得硬件驱动程序更加稳定,让操作系统对硬件更加有效地控制硬件。 除了定义一个驱动程序与操作系统连接的标准接口以外,w d m 也指明了驱动程序 应该采用的更加模块化的设计嘲。 w d m 规范依靠一个标准化的类驱动程序来控制一类硬件的最常用和基本的功 能。w i n d o w s2 0 0 0 为每一类硬件包括一个本地类驱动程序,然后,对应于某个特定 厂商或者硬件型号的迷你驱动程序加入在类驱动中未包括的特殊或定制功能。厂商 还可以更进一步地加入过滤器驱动程序来提供在类驱动的上层或底层进行的微调 特性,以此来提供驱动程序本身和由硬件设备执行的任务最大的效率。在绝大多数 情况下,这种设计将得到各方面均兼容于w i n d o w s2 0 0 0 的驱动程序,提供更好的 性能,消耗更少的系统资源,并且对驱动程序大小的缩减经常达到9 0 。注意此处 大小指的只是厂商型号特定驱动程序,而不包括本地类驱动程序。 2 p c m c i a 接口技术 为了开发一种通用的扩展方法,寻求一种工业标准,几家卡商于8 0 年代后期 创立了“个人计算机存储卡国际协会”( p e r s o n a lc o m p u t e rm e m o r yc a r d i n t e r n a t i o n a la s s o c i a t i o n ) ,规定了内存卡的物理设计方案、计算机插槽设计方案、 电气接口以及相关软件。制订自己的标准时,p c m c i a 采纳了“日本电子工业开发 北京邮电大学硕十学位论文w i n d o w s 无线网卡驱动及管理程序的研究 协会”( j e i d a ) 的一些设计思想。这两个组织都一直致力于推动现在称为“p c 卡” 的国际标准。事实上,该标准最新的版本已集成了p c m c i a 和j e i d a ,使产品间的 兼容性有了进一步的提高。p c 卡现已应用于多种场合,其中包括几种类型的r a m 内存、预编程r o m 卡、m o d e m 、声卡、软盘控制器、硬盘驱动器、c d r o m 和 s c s i 控制器、全球定位系统( g p s ) 卡、数据采集卡、l a n 卡、传呼机等等。还 处在发展初期,p c m c i a 市场就显示出蓬勃发展的气象 9 1 。 p c m c i a 标准的问世已有些时日,目前己出至第三版。其间进行了大量必要的 变动与改进,以适应系统和p c 卡制造商不断变化的需求。p c m c i a 标准的发展已 完全超出了最初定义内存卡的范围,现在包括的外设类型有:1 存储器类:硬盘驱动 器、内存卡;2 接口类:c d r o m d v d 接口、并串口、扩展接口卡;3 网络通信类: 以太令牌网卡、无线红外局域网卡、m o d e m 卡、i s d n 卡、移动电话卡;4 多媒体 类:声卡、视卡、游戏摇杆卡、电视广播接收卡、视讯会议卡等。最早的版本是1 0 , 建立的标准主要面向类似现在的r a m 卡那样的内存卡。2 0 到2 1 版则增加了“卡 和插槽服务”( c a r da n ds o c k e ts e r v i c e v i c e s ) 软件规范、a t a 和a i m s 规范( a t a 是“a t 附件”的简称,涉及p c 卡上的i d e 驱动器接口;a i m s 则是“自动索引海量 存储”的简称,是一种在p c 卡上保存图像和多媒体数据的标准,通常用于照摄像 技术) 。最新的p c m c i a 版本实际叫作“p cc a r ds p e c i f i c a t i o n ”( p c 卡规格) ,有时 也不十分恰当地称为“3 0 版”。这一版本提供了对d m a ( 直接内存存取) 、更高速 多媒体应用、即插即用、多功能卡以及c a r d b u s 的支持。这一版本也允许用3 3 伏 的逻辑电压设计p c 卡和系统。由于能节省电池供电设备的能源,3 3 伏逻辑电平同 趋流行。p c m c i a 标准的每一次新发布,都力求做到与老版本保持向后兼容。 驱动与应用程序通信技术 从w i n d o w s n t 操作系统开始,w i n 3 2 应用程序必须通过驱动程序才能操作底 层硬件( 在本设计中无线网卡) ,或者称之为设备对象。驱动程序与应用程序运行 在不同的环境又紧密合作,两者之间需要进行通信才能够协同工作。 虽然驱动程序是为设备的硬件层编程服务的,但同样需要提供和应用程序进行 通信的能力,从而最终达到应用程序控制设备的目的。 目f j w d m 驱动主要使用的通信技术为w m i 和w i n 3 2a p i ,在第四章中会对他 北京邮电大学硕士学位论文w i n d o w s 无线网卡驱动及管理程序的研究 们的特点和如何使用进行讲述。 1 2 国内外相关领域的研究现状 1 2 1 国际研究现状 从技术角度看,正是9 0 年代初微波扩频技术从军用解密转向民用和作为扩频通 讯技术支持手段的超大规模集成电路技术的迅速发展,为低功率微波扩频通信在计 算机联网中应用创造了条件,使计算机的高质量无线联网和社会广泛应用成为现实。 美国一些高技术计算机网络、电讯产品厂家在无线局域网产品的研制方面取得 了重大进展:1 9 9 2 年a t & t 的n c r 公司与m o t o r o l a 公司最先推出了各自基于微波 扩频技术的无线网络产品;继而p r o x i m 公司、t e l e s y s t e m ( 吕1 现在的a r i o n e t ) 公司、 o n e l l 公司、s o l e c t e k 公司等也在1 9 9 3 年前后推出了自己的产品。而且,越是近来推 出产品的公司,其产品的品种和性能也更加完善。到现在,美国生产无线网络产品及 组件的公司己达2 0 余家。日本、欧洲几家公司也分别推出了基于2 4 5 g h z 微波扩 频技术的无线网络产品。我国这方面的研究工作也在进行中0 1 。 在美国,计算机无线网络广泛应用在计算机需要移动办公的地方,以便在任何需 要的地方在网络的支持下工作即”漫游联网”。如在国会的办公室、会议厅、走廊, 在无线h u b ( a c c e s s ) 的联接下,只要在使用者的笔记本电脑上装上很小的无线网络 的收发装置,如p a r a l l e l 或p c m c i a 网卡,就可以在任何时候任何地方,检索网络数据 库中各种数据和资源。在医院,医生和护士可以拿着笔记本电脑在病床前实时记录和 查询病人的病历、检索药品。工厂车间的工程师可以直接存取公司集中保存的零部 件清单、工程图和工作工艺。也可在上述的任一场合,和联网的任何地点发送和接收 电子邮件、传真等任何网络能提供的服务。无线网快捷、方便的联网能力在校园网 ( 一个建筑群问) 的扩建与完善中也得到充分的体现。而在大型会议和展览等临时场 合,不必布线,在一天内即可享受联网服务更是方便。 1 2 2 国内研究现状 无线局域网( w l 埘) 最近成了继3 g 之后通信行业最关注的一个话题。实际上, w l a n 在中国并不是一个新生的事物,近几年随着宽带接入的不断发展,具有无线 北京邮电大学硕士学位论文w i n d o w s 无线网卡驱动及管理程序的研究 宽带上网功能的w l a n 再次被运营商和一些设备制造商看好,重新提到新的建设 日程上来。近日,w l a n 全球产业联盟( w i f i ) 3 e 席亲自造访中国,其目的就是大力 推广其8 0 2 1 1 系列标准,说服中国的设备制造商加入其中,并不断壮大w i f i 联盟, 进而推动w l a n 在全球的发展和应用i l l l 。 在中国,w l a n 应用市场开始于2 0 0 0 年,真正启动却是2 0 0 1 年下半年。在 2 0 0 2 年上半年,由于公众运营市场和行业用户w l a n 应用需求的增长,2 0 0 2 年是 国内w l a n 运营市场比较活跃的一年。中国电信的“天翼通”服务、中国网通的“无 线伴旅”服务开始在全国展开,中国网通在2 0 0 2 年中已经在北京、上海、广州、深 圳四个城市的4 5 个商务中心地区铺设了无线局域网。中国移动则从2 0 0 2 年底开始 在全国大规模地建设w l a n ,中国联通也准备在2 0 0 3 年的c d m a2 0 0 0l x 网络中 引入w l a n 技术来配合使用。 纵览国内w l a n 设备市场,海外供应商在网络系统解决方案的提供方面起步 较早,可以为运营商提供无线访问接入点、无线路由器和无线网桥等系统设备。国 内厂商也纷纷开始看好w l a n 市场,华为、中兴、大唐等设备厂商都开发了自己 的网络产品,从网络系统的解决方案到内置的无线网卡等。此外,国内的笔记本电 脑厂商也积极涉足w l a n 市场,纷纷与国内的运营商结成w l a n 服务的战略合作 关系。 但是相对于国外企业,中国的无线网卡无论是硬件技术还是软件技术上都有一 定差距。 1 3 研究目的和意义 本文选定的课题目的主要是为w i n d o w s 环境下的无线网卡编写驱动程序和管理 软件。在理论研究与实际应用方面,都有着一定的意义。 1 3 1 研究目的 详细说来,本文选定的课题其研究目的可以概括为以下几点: 1 根据基于w l a n 的无线网络的结构,分析驱动和管理程序的功能和需求。然 后根据具体应用提出了的实现方案。 2 通过对w d m 驱动模型的分析,完成网卡驱动总体设计,并在w i n d o w s2 0 0 0 和x p 下完成驱动编写。 北京邮电大学硕七学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 3 通过分析驱动和应用程序交互的技术,完成对管理软件部分的设计和 实现。 4 将研究成果正式投入商用,支持本公司网卡的发售。 1 3 2 研究意义 驱动程序是操作系统内核的一部分,在计算机系统中起着举足轻重的作用。驱 动程序开发属于系统编程范畴,是系统编程中比较困难的部分。选择驱动程序开发 技术作为研究课题主要从以下几个方面考虑: 1 国内各个领域有很多自行开发的硬件,这些硬件很多没有专门编写w i n d o w s 驱动程序,或者只有它们在w i n d o w s9 x 平台上的驱动程序,但需要移植到w i n d o w s 2 0 0 0 和x p 平台上。 2 很多新的w i n d o w s2 0 0 0 设备,如u s b 设备,p c m c i a 设备,以及符合 i e e e l 3 9 4 、a c p i 等全新的硬件标准的设备,都需要w i n d o w s2 0 0 0 驱动程序的支持。 3 广义上讲,内核模式程序都是以驱动程序的形式出现的。实际上,驱动程 序最有用的地方是它可以合法地进入内核模式。对于程序调试器、病毒防火墙、网 络防火墙、加密解密,等等,都需要高优先级的程序,这通常要使用驱动程序来实 现。 4 w d m 驱动程序模型提供w i n d o w s2 0 0 0 和w i n d o w sx p 平台之间的源代码 级兼容。因此,在w i n d o w s2 0 0 0 x p 平台上使用w d m 模型来编写驱动程序是个比 较好的选择。 总的来说,随着无线网络技术的发展,无线网卡使用越来越多,而对应得驱动 程序也是必不可少的。本文针对六合万通的无线网卡芯片进行了完整的驱动和管理 程序的设计和编写,并最终实现了商用,有很大的实际意义。 1 4 研究内容 笔者通过在公司的实习和自己的研究,实现了w i n d o w s 2 0 0 0 x p 环境下的无线 网卡驱动,具体工作如下: 1 设计一个基于w i n d o w s 2 0 0 0 环境下p c m c i a 接口的无线网卡驱动程序,其 北京邮电大学硕十学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 是基于w d m + n d i s 的分层模型构成,把有自组功能的无线网络适配器的软硬件与 w i n d o w s 2 0 0 0 操作系统有机的结合起来,提供w i n d o w s 2 0 0 0 环境下的网络层接口, 实现网卡和上层软件数据的传输。 2 设计实现了基于这个驱动程序的管理程序,其主要通过交互接口与驱动交 互信息,达到控制驱动和读取相关信息的作用。 3 对网卡驱动和管理软件进行测试,并与同类网卡进行比较,得出相应结论。 1 5 论文结构 论文基本结构如下: 第一章介绍本课题的背景材料和实用意义。 第二章介绍驱动系统的总体构架以及相关的基础知识。着重讨论了w d m 和 n d i s 网络驱动,还对p c m c i a 接口进行了介绍,对后续内容介绍打下了基础。 第三章对总线驱动和n d i s 微端口驱动的建立过程进行了详细的描述,分析了 驱动的构造和各模块的功能。 第四章对配套的驱动管理软件进行了介绍,着重讨论了w m i 、d e v i c e l o c o n t r o l 等驱动与应用软件交互技术,便于更好的理解驱动程序。 第五章对驱动程序和管理软件进行了安装与测试,目的是验证其性能和优越 性。 北京邮电大学硕上学位论文w i n d o w s 无线网卡驱动及管理程序的研究 第二章w i n d o w s 环境下驱动程序的结构分析 2 1w i n d o w s 下的驱动体系概述 2 1 1w i n d o w s 系统中驱动的位置 图2 1 是w i n d o w s2 0 0 0 的系统结构图。从图中我们可以看出:整个系统被分 为两个态,用户态和核心态【1 2 j 。 从图中可以明显看出i o 操作最后是怎样作用到硬件上的。用户态应用程序对 w i n d o w s 子系统进行w i n 3 2a p i 调用,这个调用由系统服务接口作用到i o 管理器 ( 严格地说,在w i n d o w s 系统中不存在f o 管理器这样的独立模块,这样只是为了 方便叙述而将各种核心功能调用的集合称作i o 管理器,业界人士都这样称呼这个 部分) ,i o 管理器进行必要的参数匹配和操作安全性检查,然后由这个请求构造 出合适的i r p ( i or e q u e s tp a c k a g e ,i o 请求包) ,并把此i r p 传给驱动程序。简 单情况下,驱动程序直接执行这个请求包,并与硬件打交道,从而完成i o 请求工 作,最后由i o 管理器将执行结果返回给用户态程序。但在w d m 体系结构中,大 部分实行分层处理。即在图中“设备驱动”这部分,分成了若干层,典型地分成高层 驱动程序、中间层驱动程序、底层驱动程序。每层驱动再把i o 请求划分成更简单 的请求,以传给更下层的驱动执行。以文件系统驱动为例,最高层驱动只知道文件 如何在磁盘上表示,但不知道怎样得到数据。最低层驱动程序只知道怎样从磁盘取 出5 1 2 b 为单元的数据块,但不知道文件怎样表示。举个更具体的生活例子。主人 ( 最高层驱动) 知道( 并且需要) 笔记本电脑,但不知道具体放在什么位置;而仆 人( 最底层驱动) 却知道它的具体位置,但不知道( 也不需要管) 怎么使用【l 舶。 北京邮电大学硕士学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 用户模式 内核模式 w i n 3 2a p i 调用 系统服务接口 递i r p 给驱动程序派遣函数 h a l 调用 平台相关性操作 图2 - 1w i n d o w s2 0 0 0 系统结构 2 1 2w i n d o w s 下的驱动体系 在w i n d o w s2 0 0 0 操作系统中,有两个基本的驱动程序种类: 1 、用户模式驱动程序( 例如w i n 3 2v d d ,它是为m s d o s 应用程序开发的专 用设备) 或另一个被保护的子系统的驱动程序用户模式驱动程序是与子系统细节相 关的,我们不在这里讨论。 2 、针对逻辑、虚拟或物理设备的内核模式驱动程序这些驱动程序作为w i n d o w s n t 执行体部分来运行tw i n d o w sn t 是基础的、基于微内核的操作系统,它支持一 个或更多的保护子系统。一些w i n d o w s2 0 0 0 内核驱动程序也是w d m 驱动程序, 它们符合w i n d o w s 驱动程序模型( w d m ) 1 1 4 l 。所有的w d m 驱动程序是p n p 驱动程 序,并支持电源管理。w d m 驱动程序对m i c r o s o f tw i n d o w s9 8 和w i n d o w s2 0 0 0 操 作系统来说,是源代码兼容的( 不是二进制兼容的) 。 在这里,术语“w i n d o w s2 0 0 0 驱动程序”通常指代任何运行于w i n d o w s2 0 0 0 操 作系统之上的内核模式驱动程序( 是w d m 或不是) 。必要的时候,本文会特别指 出哪些是w d m 驱动程序,哪些只是w i n d o w s2 0 0 0 驱动程序。名词“早期驱动程序” 亘盈 北京邮电大学硕士学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 指的是那些为w i n d o w sn t 早期版本写的驱动程序,它们是不支持p n p 的。像操作 系统自己,内核模式驱动程序是依据仔细定义的需求功能集,作为单独的、模块化 的组件来实现的。 所有的w i n d o w s2 0 0 0 内核模式驱动程序,包括w d m 驱动程序,都包含一组 系统定义的标准驱动程序例程和一些依赖于个别设备需求的内部例程。 图2 - 2 驱动层次结构 虚拟设备驱动程序( v d d ) 是- - 个用户模式部件,它可以使d o s 应用程序访问 x 8 6 平台上的硬件。v d d 通过屏蔽i o 权限掩码来捕获端口存取操作,它基本上是 模拟硬件操作,这对于那些直接对裸机硬件编程的应用程序特别有用。尽管这种驱 动程序在w i n d o w s9 8 和w i n d o w s2 0 0 0 中共享一个名称并且有相同的功能,但实际 上它们完全不同。我们用v d d 缩写代表这种驱动程序,用v x d 缩写代表w i n d o w s 9 8 中的虚拟设备驱动程序,以示区别。 内核模式驱动程序的分类包含许多子类。p n p 驱动程序就是一种遵循w i n d o w s 2 0 0 0 即插即用协议的内核模式驱动程序。准确地说,本文中涉及的所有内容都 是面向p n p 驱动程序的。 w d m 驱动程序是一种p n p 驱动程序,它同时还遵循电源管理协议,并能在 w i n d o w s9 8 和w i n d o w s2 0 0 0 间实现源代码级兼容( 有限兼容,只限于两者都支 持的功能) 叫。w d m 驱动程序还细分为类驱动程序( c l a s sd r i v e r ) 矛 1 迷你驱动程序 北京邮电大学硕士学位论文w i n d o w s 无线网卡驱动及管理程序的研究 ( m i n id r i v e r ) ,类驱动程序管理属于已定义类的设备,迷你驱动程序向类驱动程 序提供厂商专有的支持。 显示驱动程序是用于支持显示和打印设备的内核模式驱动程序。 文件系统驱动程序在本地硬盘或网络上实现标准p c 文件系统模型( 包括多层 次目录结构和命名文件概念) 。 遗留设备驱动程序也是一种内核模式驱动程序,它直接控制一个硬件设备而不 用其它驱动程序帮助。这种驱动程序主要包括w i n d o w sn t 早期版本的驱动程 序,它们可以不做修改地运行在w i n d o w s2 0 0 0 中。 2 2w d m 体系分析 2 2 iw d m 模型 w d m ( w i n d o w sd r i v e rm o d e l ) 是微软为开发人员提供的一种编写运行在 w i n d o w s 平台下新硬件驱动程序的有效方法【1 研,此即所谓的w i n d o w s 驱动程序模 型。w d m 提供了设备类( d e v i c ec l a s s e s ) ,由此形成的源代码可以运行在各类 w i n d o w s 平台:w i nx p 2 0 加m e 9 8 。需要指出的是,职业开发人员往往使用的是 更有深度的d d k ,它除了可以开发w d m 类型的驱动程序外,还可以开发非w d m 类型w i n d o w s 驱动程序。 w d m 是一种便捷式的编程技术,它使开发人员写出的驱动程序可以跨平台运 行,支持编写微软所支持的w d m 总线驱动程序,在w d m 中“总线”( b u s ) 的概念 是一种附加在其它设备( 包括物理设备、逻辑设备、虚拟设备) 上的设备协议,例 如w i n d o w sx p 内置的w d m 技术支持的总线类型包括:p c i ( p e r i p h e r a lc o m p o n e n t i n t e r c o n n e c t ) 、动态式即插即用串行f o 总线( 如u s b 和i e e e1 3 9 4 ) 、s c s i ( s m a l l c o m p u t e rs y s t e mi n t e r f a c e ) 、n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ) 及远程式 n d i s ( r n d i s ) n 研。 新版w d m 中的r n d i s 属于新内容:如简化了对网络设备硬件的开发,减弱 了网络设备对驱动程序的依赖性,使最终用户对网络设备的设置安装更简便。w d m 新版中对设备的支持主要包括:u s b 设备类,比如其中的类h i d ( h u m a ni n t e r f a c e d e v i c e ) ;数码相机扫描仪;通过i e e e1 3 9 4 标准的视频捕捉设备;音频;控制调制 解调器的w i n m o d e m 。在w d m 类代码中提供的p o r t m i n i p o r t 驱动范式,支持第三 北京邮电大学硕上学位论文w i n d o w s 无线网卡驱动及管理程序的研究 方厂商为其特殊设备编写“迷你型驱动”m i n i d r i v e r 。w i n d o w sd d k 其实是建立在 w d m 基础之上,它提供了:d r i v e rv e r i f i e r 及w i n d o w sh a r d w a r ec o m p a t i b i l i t yt e s t s 测试工具;被w h q l ( w i n d o w sh a r d w a r eq u a l i t yl a b s ) 所识别的第三方驱动程序等集 成环境。 w d m 支持的驱动程序具有分层结构,换言之,对于一种设备而言,它可以具 有三种类型的d r i v e r s :总线d r i v e r ,或者函数d r i v e r ,或者过滤式驱动程序( 它可以 假定或修正设备的行为值) 。为一台设备服务的这些驱动程序链合起来就是所谓驱 动程序堆栈。一个驱动程序堆栈分阶段地处理用户的请求,这些驱动程序一个个相 互叠加在一起,低层的总线驱动程序可用于处理与硬件的所有基本联系,而中间的 类驱动程序对整个一类驱动程序提供共同的设施。 微软提供了针对w i n d o w s 的总线驱动程序,并为第三方设备开发商提供有关服 务,如枚举设备、对即插即用和i o 所需电源的管理,并提供了独立于设备管理方 式。设备开发商更多地是提供函数式驱动,其基本内容包括:对设备的操作界面, 对设备的读写句柄,对设备电源的管理策略。过滤式驱动程序安装在驱动堆栈一个 或多个设备之上或下端,它可以截获设备、或设备类、或总线的请求,判断这些请 求,并可以修改其内容或对其进行响应,例如u s b 键盘的高层过滤驱动程序可以 增强加密检查,而适用于鼠标的低层类过滤有助于提高鼠标性能。 函数式驱动是这样一种结构:属于某类设备的常规执行可以通过其类驱动实 现,即是说驱动程序在开发时,开发人员的工作只需要写出非常少的驱动代码 m i n i d r i v e r 去与硬件打交道,大部分工作可以通过调用类驱动完成。微软提供的类 驱动可以实现常见的系统任务,比如即插即用和电源管理。w d mc l a s sd r i v e r s 主要 内容包括: 1 、流式类驱动,以内核模式支持多媒体内容; 2 、具有支持输入设备的h i d 类驱动; 3 、u s b 和i e e e1 3 9 4 总线类驱动; 4 、支持串行和并行方式的存储协议。 2 2 2w d m 体系结构 w d m ( w i n 3 2 d r i v e rm o d e l ) ,即w i n 3 2 驱动程序模型,是m i c r o s o f t 力推的全新 驱动程序模式,旨在通过提供一种灵活的方式来简化驱动程序的开发,在实现对新 北京邮电大学硕十学位论文 w i n d o w s 无线网卡驱动及管理程序的研究 硬件支持的基础上减少并降低所必须开发的驱动程序的数量和复杂性。 除了通用的平台服务和扩展外,w d m 还实现了一个模块化的、分层次类型的 微型驱动程序结构,如图2 - 1 所示。 厂 i r p i一 lp d o 卜1 总线驱动程序 1。,。一1。一 图2 - 3w d m 中设备对象和驱动程序的分层 图2 3 的左边是设备对象栈,设备对象是系统生成的用来帮助软件管理硬件的 数据结构。对于一个物理硬件可以有许多这样的数据结构为它服务,在栈中最下层 的设备叫做“物理设备对象”,或简称p d o 。位于设备对象栈中部的是一些叫做“功 能设备对象”的对象,或简称f d o 。在f d o 的上面和下面是“过滤器设备对象”的集 合,在f d o 上面的过滤器设备对象叫做“上层过滤器设备对象”,f d o 下面( 但是 仍在p d o 上面) 过滤器设备对象叫做“下层过滤器设备对象”。 操作系统的“即插即用( p n p ) 管理器”在设备驱动程序的请求下,构造了设备对 像栈。总线驱动程序枚举出连接到总线上的设备,并且位为每个设备创建p d o 。接 着,因为总线驱动程序检测到一些实际硬件,p n p 管理器丌始通过创建p d o 的方 法,生成图2 1 描述的图形。 创建了p d o 之后,p n p 管理器查阅注册数据库以找到过滤器和功能驱动程序, 这些驱动程序在图2 3 的中间位置。安装程序负责填写部分注册表项,控制硬件安 装的i n f 文件负责其他的注册表项,注册表项定义了驱动程序在栈中出现的顺序。 所以,p n p 管理器是从安装最下层过滤器驱动程序并调用它的a d d d e v i c e 函数开始 创建这个栈的。a d d d e v i c e 函数创建一个f i d o 对象,这样在会一个f i d o 对象和 驱动程序之间建立一个水平连接。a d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论