Linux下基于PCI总线的网络设备驱动程序的研究与开发
摘要 | 第3-4页 |
Abstract | 第4页 |
第1章 绪论 | 第8-12页 |
1.1 研究背景及意义 | 第8-9页 |
1.1.1 Linux操作系统 | 第8-9页 |
1.1.2 Linux设备驱动研究的意义 | 第9页 |
1.2 课题设计的目标和主要内容 | 第9-10页 |
1.3 组织结构安排 | 第10-12页 |
第2章 Linux设备驱动程序设计 | 第12-19页 |
2.1 Linux设备驱动程序概述 | 第12-13页 |
2.1.1 设备驱动的概念 | 第12页 |
2.1.2 Linux设备驱动程序的分类和特点 | 第12-13页 |
2.2 Linux设备驱动程序开发的核心理论 | 第13-18页 |
2.2.1 Linux内核模块 | 第13-15页 |
2.2.2 驱动程序中的并发控制 | 第15-16页 |
2.2.3 Linux系统的中断机制 | 第16-17页 |
2.2.4 内存管理与I/O访问 | 第17-18页 |
2.3 本章小结 | 第18-19页 |
第3章 网络加密卡硬件结构和PCI总线协议 | 第19-28页 |
3.1 网络加密卡硬件结构概述 | 第19-20页 |
3.2 PCI总线协议 | 第20-24页 |
3.2.1 PCI总线的系统结构 | 第20-21页 |
3.2.2 PCI局部总线的特点 | 第21页 |
3.2.3 PCI局部总线的信号定义 | 第21-23页 |
3.2.4 PCI局部总线的编址 | 第23-24页 |
3.3 网卡芯片DM9000介绍 | 第24-27页 |
3.3.1 DM9000寄存器的读写 | 第24-25页 |
3.3.2 DM9000对数据的发送和接收 | 第25-27页 |
3.4 本章小结 | 第27-28页 |
第4章 网络设备驱动程序的设计 | 第28-39页 |
4.1 Linux网络实现的分层模型 | 第28-29页 |
4.2 套接字缓冲区 | 第29-31页 |
4.2.1 套接字缓冲区概述 | 第29-30页 |
4.2.2 套接字缓冲区对数据的管理 | 第30-31页 |
4.3 网络访问层 | 第31-34页 |
4.3.1 网络设备的表示 | 第31-33页 |
4.3.2 分组数据的接收 | 第33-34页 |
4.3.3 分组数据的发送 | 第34页 |
4.4 网络设备驱动分层结构 | 第34-35页 |
4.5 网络设备驱动主要接.函数设计框架 | 第35-38页 |
4.5.1 网络设备驱动的注册与注销 | 第35-36页 |
4.5.2 网络设备的初始化 | 第36页 |
4.5.3 网络设备的打开与释放 | 第36-37页 |
4.5.4 数据的发送流程和接收流程 | 第37页 |
4.5.5 网络连接状态 | 第37-38页 |
4.6 本章小结 | 第38-39页 |
第5章 基于PCI总线的网络加密卡驱动程序设计 | 第39-55页 |
5.1 程序设计过程中需要注意的问题 | 第39-40页 |
5.1.1 设备驱动中的I/O操作 | 第39页 |
5.1.2 设备的私有信息结构体 | 第39-40页 |
5.1.3 网卡MAC地址的设定 | 第40页 |
5.2 网络设备的注册 | 第40-42页 |
5.3 网卡驱动中的PCI总线驱动 | 第42-45页 |
5.3.1 总线初始化函数probe | 第42-44页 |
5.3.2 PCI总线移除函数 | 第44-45页 |
5.3.3 总线挂起和复苏函数 | 第45页 |
5.4 网卡驱动中的网络设备驱动接.设计 | 第45-54页 |
5.4.1 设备打开函数和停止函数 | 第45-49页 |
5.4.2 中断处理函数 | 第49-50页 |
5.4.3 发送数据函数 | 第50-52页 |
5.4.4 接收数据函数 | 第52-53页 |
5.4.5 网络连接状态 | 第53-54页 |
5.5 本章小结 | 第54-55页 |
第6章 驱动程序的测试 | 第55-60页 |
6.1 网络设备驱动的编译和加载 | 第55-57页 |
6.2 网卡性能测试 | 第57-59页 |
6.3 本章小结 | 第59-60页 |
结论 | 第60-61页 |
参考文献 | 第61-65页 |
致谢 | 第65-66页 |