windows nt环境下fddi网卡驱动程序设计法律程序_第1页
windows nt环境下fddi网卡驱动程序设计法律程序_第2页
windows nt环境下fddi网卡驱动程序设计法律程序_第3页
windows nt环境下fddi网卡驱动程序设计法律程序_第4页
windows nt环境下fddi网卡驱动程序设计法律程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1 / 9 总体结构介绍 第一节 络结构 络体系结构 网络体系结构是基于国际标准化( 定 的 标 准 模 型 开 放 式 系 统 互 连 ( 考模型分层建立的,这种方式有利于随时扩展其它功能和服务。 络模型开始于 层,网卡驱动程序就驻留在其中。它通过相关的网卡把 网络连接起来,图中的多 个网卡表明在一台运行 计算机上能使用多种网卡。 这一网络体系结构包括两个重要接口 口与传输驱动 程序接口( 这两个接口把两个层隔离开来,办法是相邻的部件只允许按单一的标准来写,不允许多重标准。例如一个网卡驱动程序(在 口的下面)就不需要特地按每个传输协议来写它的代码块,恰恰相反,该驱动程序是写给 口的,它通过符合 相应传输协议来请求服务。这些接口包含在 网络体系结构中,以2 / 9 容纳可移植、可互换的模块。 在两个接口之间,是传 输协议。它在网络中起着组织者的作用。一个传输协议规定了数据以何种方式呈递给下一个接收层,以及如何对数据相应地进行打包。它通过 数据传给网卡驱动程序,并通过 数据传给转发程序( 上是转发程序,它把本地的网络资源申请转送给网络。 为了能和其他厂商的网络互连, 许有多个转发程序。对于每一个转发程序 算机必须也有一个相应的供应者( (由网络厂商提供 )。多供应者路由选择程序决定适当的供应者,然后借助于供应者,对应用 请求到相应的转发程序做出选择。 络驱动程序 持两种类型的网络驱动程序 传输驱动程序 实现数据链路层中的逻辑链路控制子层协议和传输层协议。向 下与 口,向上与 口。 网卡驱动程序 实现对物理层的管理和数据链路层中介质访问控制子层协议,通过 下管理物理网卡,向上与传输驱动程序通信。 3 / 9 卡驱动程序 境下的网卡驱动程序也分为两种: 卡驱动程序: 动程序只须实现与网络硬件相关的操作(包括发送和接收)。而所有底层网卡驱动程序的通用操作(如同步),一般由 口程序来实现。 卡驱动程序: 卡驱动程序必须实现所有硬件相关和同步、排队等操作。例如 卡驱动程序为了响应数据接收,需要保持本身的捆绑信息,而 可以由 口库来实现。 在 早期版本中, 卡驱动程序要求开发者实现许多底层操作,来处理多处理器的核心问题以及处理器、线程的同步,这样不同的开发者在大量重复着许多相同的工作 。 而 卡驱动程序允许开发者仅仅写一些与网络硬件相关的代码即可,而那些通用的函数由 口库来实现,这样开发出来的驱动程序减少了不必要的工作。 第二节 动程序的结构 口规范了网卡驱动程序的实现,同时也对 动程序的实现提出了一定的要求,在 , 束下的网卡驱动程序、 动程序和系统的关系如下图所示: 图 束下的网卡驱动程序、 动程序和系统的4 / 9 关系 动程序包括驱动程序对象、驱动程序源代码和口库代 码。 nt 供作为 动程序的主要头文件,定义了 动程序的入口点、口库函数和通用数据结构。 上边缘函数的作用是网卡驱动与 口库进行通信,而下边缘函数是 议驱动程序与 信的手段。 卡对象 一个叫做逻辑网卡的软件对象来描述系统中的每块网卡,而逻辑网卡与 备对象的通信由 i/述网卡的设备对象包括相关的网络信息如名字、网络地址和网卡内存基地址等,它还包含与硬件 相关的驱动程序状态数据(捆绑数目,捆绑句柄,包过滤数据库等)。 配一个句柄到 个上边缘函数的一个结构中,然后 卡驱动程序将在以后提供这个句柄来给 用,这个结构一直被 持,并且对 动程序不透明。 当 卡驱动程序初始化一块网卡时,它创立自己的内部数据结构来描述网卡,记录需要它管理的与设备相关 的 状 态 信 息 。 当 卡 驱 动 程 序 调 用传递一个句柄给这数据结构。这样,当调用 9 驱动程序入口点时,它就传递这个句柄来验证驱动程序所对应的网卡的正确性。这个数据结构为 卡驱动程序所拥有并维护。 网络对象标识符 动程序还需要维护一组对象,这些对象是系统定义的对象标识符( 标识,以描述驱动程序的性能和当前状态信息。为查询这些信息,上层驱动程序调用 动程序所支持的 冲区大小等。 到上层驱动程序的查询请求,将 递给上边缘函数 查询,如果上层驱动程序请求改变状态信息则调用 现对 设置。 卡驱动程序代码 典型的 动程序必须有一些函数来通过口实现上层驱动程序与硬件的通信。这些函数称为上边缘服务函数。 这些上边缘服务 函数由驱动程序的开发者根据驱动程序面向的特定低层网络类型和硬件以及相应环境,可以有选择地实现,但必须保证驱动程序最基本的功能,这些基本功能包括初始化、发送、中断处理、重置、参数查询与设置和报文接收。 6 / 9 作系统根据系统配置信息,检测出网卡已安装时,由 口在初始化时调用,主要完成低层网络类型确定,对应于物理网卡的逻辑网卡初始化,中断信息注册,网卡与主机通讯方式的确认。 i/o 端口的申请与注册,内存映像, 初始化,物理网卡的验证与初始化等。 持网卡参数动态变化,和能屏蔽中断,必须由驱动程序承认并清除在此期间产生的中断),支持即插即用和软配置的网卡在动态改变参数时,必须提供此函数。 询网卡的状态以及网卡驱动程序的操作或统计参数,如是否支持组通讯、网卡的物理速率是否支持回环、是否支持直接拷贝等,这些参数以 口或协议驱动 程序通过调用此接口改变驱动程序维护的 ,一些操作参数的改变也将同时改变驱动程序状态,例如组地址的设置。 括网卡硬件重置和驱动程序软件重置,软件重置包括驱动程序状态重置,以及一些相关的参数重置,还需考虑有些参数的恢复,重置时不必完成所有正在活跃的外部请求,但必须释放已占用的外部资源。 7 / 9 起网卡并释放该网卡驱动程序占用的所有资源,在此期间不屏蔽中断。 优先级的中断处理程序,进行的工作包括初始中断处理类型,决定是否进行中 断转交,对卡上中断进行处理 等,该服务类型只在以下情况被调用: 中断处理类型设为每此中断处理过程都调用时。 为使系统能及时响应所有硬件中断,高优先级的硬件中断处理程序应尽可能的减少运行时间,防止长时间的屏蔽低优先级中断,避免造程中断丢失。 中断延时处理程序在中断延时处理时进行调用。 队所有的延时处理,该服务主要处理发送完成、报文接收、描述符用尽、溢 出、网卡异常等中断。 到上层发送请求时经过若干协议处理再向下调用此服务过程,发送的 含有 服务过程进行边界对齐、 束重整、描述符映射和报文发送、以及发送资源和 冲队列管理。 个已和网卡捆绑的协议驱动程序在接收到报文到达指示后,向网卡驱动程序发出传送请求以拷贝各自所需的报文数据部分,网卡驱动程序根据各协议8 / 9 驱动程序对单个 否进行多次拷贝,以决定是否暂存只允许单次拷 贝的 。 秒调用此服务函数一次,驱动程序发现网卡异常时报告给 用行硬件重恢复。 断使能。 断屏蔽。 另外,每个网卡驱动程序必须有一个初始化入口点,由数实现,它和系统相关,由操作系统在装入驱动程序时调用,主要完成初始化 由始生成驱 动程序管理块并完成相应各种初始化工作,登录网卡驱动程序所有上边缘服务入口点,同时写入

温馨提示

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

评论

0/150

提交评论