- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
——网络091
网络设备驱动程序
前言
Linux内核由5个主要的子系统组成。这5个子系统分别是进程调度(SCHED)、内存管理(MM)、虚拟文件系统(Virtual File System,VFS)、网络接口(NET)和进程间通信(IPC)。
进程调度控制着进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。
内存管理允许多个进程安全地共享主内存区域。Linux的内存管理支持虚拟内存,即在计算机中运行的程序,其代码、数据和堆栈的总量可以超过实际内存的大小,操作系统只将当前使用的程序块保留在内存中,其余的程序块则保留在磁盘上。必要时,操作系统负责在磁盘和内存之间交换程序块。
内存管理从逻辑上可以分为硬件无关的部分和硬件相关的部分。硬件无关的部分提供了进程的映射和虚拟内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。
虚拟文件系统隐藏了各种不同硬件的具体细节,为所有设备提供了统一的接口,虚拟文件系统还支持多达数十种不同的文件系统,这也是Linux较有特色的部分。
虚拟文件系统可分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2、fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。
网络接口提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序两部分。网络协议部分负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备进行通信,每一种可能的硬件设备都有相应的设备驱动程序。
目录
第1节 人员的分配…………………………………………………………………… 4
第2节 概述…………………………………………………………………………… 5
第3节 网络设备接口初始化函数…………………………………………………… 7
第4节 设备的打开与关闭…………………………………………………………… 17
4.1 设备的打开…………………………………………………………………… 17
4.2 设备的关闭…………………………………………………………………… 22
第5节 接收数据分析………………………………………………………………… 27
第6节 发送数据分析………………………………………………………………… 37
人员的分配
下面是关于整个代码分析人员的分配:
网络设备接口初始化函数
邓婷ne_probel()
陈琳 ne_probe()
常若男 init_module()dev_open()和ne_()dev_close()和ne_close()net_interrupt()ne_get_8390_hdr()
张玉洁 ne_probe1
王林源ei_receive()
发送数据分析
马金凤 ei_start_xmit()
黄凯旋 ne_block_output()
第2节 概述
Linux网络设备驱动程序是Linux操作系统网络应用中的一个重要组成部分。分析其运行机理,对于设计Linux网络应用程序是很有帮助的。我们可以在网络驱动程序这一级做一些与应用相关联的特殊事情,例如在设计Linux防火墙和网络入侵检测系统时,可以在网络驱动程序的基础上拦截网络数据包,继而对其进行分析。由于Linux是开放源代码的,所以给我们提供了一个分析和改造网络驱动程序,并使其满足特殊应用的绝好机会。本文对Linux内核中的网络驱动程序部分进行了详细讨论,并给出了实现Linux网络驱动程序的重要过程、一种实现模式和具体实例。 体系结构Linux网络驱动程序的体系结构如图1所示。可以划分为四层,从上到下分别为协议接口层、网络设备接口层、提供实际功能的设备驱动功能层,以及网络设备和网络媒介层。在设计网络驱动程序时,最主要的工作就是完成设备驱动功能层,使其满足我们自己所需的功能。在Linux中,把所有网络设备都抽象为一个接口。这个接口提供了对所有网络设备的操作集合。由数据结构 struct device来表示网络设备在内核中的运行情况,即网络设备接口。它既包括纯软件网络设备接口,如环路(Loopback),也可以包括
您可能关注的文档
- 网络报税企业版销项导入接口(V1.doc
- 网络编程实用教程_第2章.ppt
- 网络编程中常见错误及代码含义.docx
- 网络操作系统G(中央电大)网络答题三86.doc
- 网络操作系统安全.ppt
- 网络操作系统的安装.doc
- 网络操作系统管理第五部分(DHCP系统管理).ppt
- 网络操作系统认识.ppt
- 网络操作系统实验总结.doc
- 网络操作系统试题.doc
- 2025年辽宁传媒学院中国近现代史纲要期末考试模拟题附答案.docx
- 2025年中国科学院大学思想道德修养与法律基础期末考试模拟题必考题.docx
- 2025年天津医学高等专科学校毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题附答案.docx
- 2025年东北电力大学毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题附答案.docx
- 2025年西安外国语大学毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题附答案.docx
- 2025年哈尔滨工业大学思想道德修养与法律基础期末考试模拟题附答案.docx
- 2025年山西体育职业学院中国近现代史纲要期末考试模拟题必考题.docx
- 2025年沙洲职业工学院马克思主义基本原理概论期末考试模拟题必考题.docx
- 2025年山东交通学院中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年山东杏林科技职业学院思想道德修养与法律基础期末考试模拟题及答案1套.docx
最近下载
- 采矿工艺技术(采矿学).ppt VIP
- 2016年全国国际商务单证员专业考试国际商务单证缮制与操作试题(附答案).pdf VIP
- 2025年农村人居环境整治长效管护国际合作报告.docx VIP
- 初20XX年级踩线生会议讲话稿.docx VIP
- 联想扬天V14 G2-ITL 系列产品环保证书.docx VIP
- 山西省太原市2024-2025学年高二上学期期末学业诊断数学试卷含答案.pdf VIP
- 教师资格认定申请表(补).doc VIP
- 小学数学新苏教版三年级下册 一 第7课时 练习一 教学课件(2026春).pptx VIP
- 环氧树脂课程设计.doc VIP
- 护理专业硕士考研(护理综合)历年真题试卷汇编及答案(一).pdf VIP
原创力文档


文档评论(0)