- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux 多态设备驱动程序设计 张宇,高锦春,胡鹤飞,袁东明** (北京邮电大学电子工程学院,北京 100876) 5 10 15 20 25 30 35 40 摘要:随着互联网的飞速发展,互联网应用对于数据传输速率的要求越来越高。传统的数据 包接收过程由于需要经过复杂的内核协议栈,影响了接收的速率。在很多对传输速率要求较 高的应用中都尽量绕过内核协议栈实现数据接收。本文旨在开发一种设备驱动可以将一个网 络硬件设备在操作系统中映射成网络设备和字符设备两种形态,提供传统的数据包接收和跨 协议栈的数据包捕获两种功能,并向应用层提供寄存器配置功能可是实时的切换两种工作模 式。 关键词:linux 设备驱动;数据包捕获;缓存区预分配;内存映射 中图分类号:TP316 Design of Multi-state Device Driver in Linux ZHANG Yu, GAO Jinchun, HU Hefei, YUAN Dongming (School of Electronic Engineering,Beijing University of Posts and Telecommunications, Beijing 100876) Abstract: As the development of Internet ,the requirement for the data transfer speed gets higher and higher. The traditional packet receiving is a complex process due to the kernel stack, affecting the rate of the packet capture.many applications which have a high requirement for the data transfer speed find a new way to receive the packets without crossing the core protocol stack. This paper aims to develop a device driver can make a network hardware device appear two forms in the operating system :network device and character device.So this driver can provide traditional packet receiving and cross-protocol stack packet-capture,two functions for the application layer. This dirver also provides real-time register configuration function, for switching between two modes. Keywords: linux devce dirver; packet capture; pre-allocated buffer; memory map 0 引言 Linux 作为 unix 操作系统的一个变种,其内核源码完全开放,具有开放性,高效性,稳 定型等优点,其应用也越来越广泛。当前约有 70%的网络服务器都使用 linux 操作系统。Linux 设备驱动是联系 linux 操作系统和硬件外设的纽带,属于 linux 内核开发范畴。Linux 设备驱 动分为三种:字符设备驱动,块设备驱动和网络设备驱动,本文我们主要关心的是网络设备 驱动和字符驱动设备。当把设备抽象为一个网络设备时,该设备完成经协议栈的网络数据的 收发功能。在提高传输速率方面我们摒弃了传统的中断式收发,采用更有效的 DMA(Direct Memory Access,直接内存访问)传输。当把设备抽象为一个字符设备时,通过/dev 目录下 的设备名称对设备做类似于文件的操作。通过这种方式可以获得不经协议栈的原始数据,提 供给上层进行数据分析或者应用层实现的协议栈处理。优秀的设备驱动既可以提高硬件设备 的性能表现,又能为应用层软件提供所需的服务接口。而多态设备驱动可以为单一硬件设备 提供多种类型的功能,充分发挥硬件的性能。因此,多态设备驱动是一个值得深入研究的课 题。 作者简介:张宇,(1986-),男,硕士研究生,主要研究方向:接入网协议,linux 设备驱动。 通信联系人:高锦春,(1962-),女,教授,主要研究方向:无线通信关键技术、通信系统可靠性. E-mail:
文档评论(0)