致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7页 |
1 绪论 | 第11-18页 |
1.1 研究背景 | 第11-12页 |
1.2 国内外研究现状 | 第12-16页 |
1.3 研究内容与技术路线 | 第16页 |
1.4 论文组织结构 | 第16-18页 |
2 研究基础 | 第18-32页 |
2.1 LINUX内核体系结构 | 第18-19页 |
2.2 LINUX设备驱动 | 第19-27页 |
2.2.1 Linux设备驱动概述 | 第20-21页 |
2.2.2 声卡驱动程序 | 第21-25页 |
2.2.3 网络设备驱动程序 | 第25-27页 |
2.3 LINUX内核空间与用户空间通信基础 | 第27-31页 |
2.3.1 内核空间与用户空间 | 第27-29页 |
2.3.2 Linux内核与用户程序间通信机制 | 第29-31页 |
2.4 本章小结 | 第31-32页 |
3 设备驱动非内核化体系结构的研究与设计 | 第32-41页 |
3.1 非内核化设备驱动框架 | 第32-33页 |
3.2 设备驱动程序拆分方案 | 第33-36页 |
3.2.1 设备驱动程序拆分依据 | 第33-34页 |
3.2.2 驱动程序可拆分函数确认 | 第34-36页 |
3.3 内核-用户空间通信方案设计 | 第36-40页 |
3.3.1 基于ioctl()的非内核化设备驱动通信机制 | 第37-38页 |
3.3.2 基于completion的同步通信机制 | 第38-40页 |
3.4 本章小结 | 第40-41页 |
4 设备驱动非内核化通信机制的设计与实现 | 第41-59页 |
4.1 总体设计 | 第41-43页 |
4.2 内核空间驱动程序的设计与实现 | 第43-48页 |
4.2.1 内核驱动基本功能模块 | 第43-45页 |
4.2.2 内核驱动通信控制模块 | 第45-47页 |
4.2.3 内核驱动空壳函数 | 第47-48页 |
4.3 用户空间驱动程序的设计与实现 | 第48-52页 |
4.3.1 用户驱动通信控制模块 | 第48-49页 |
4.3.2 用户驱动库函数模块 | 第49-52页 |
4.4 设备驱动非内核化通信数据结构设计 | 第52-55页 |
4.5 非内核化设备驱动原型实现 | 第55-57页 |
4.5.1 开发及运行平台 | 第56页 |
4.5.2 原型构建 | 第56-57页 |
4.6 本章小结 | 第57-59页 |
5 原型测试及结果 | 第59-66页 |
5.1 功能测试 | 第59-64页 |
5.2 性能测试 | 第64-65页 |
5.3 本章小结 | 第65-66页 |
6 总结与展望 | 第66-68页 |
6.1 工作总结 | 第66-67页 |
6.2 研究展望 | 第67-68页 |
参考文献 | 第68-71页 |
作者简历及攻读硕士/博士学位期间取得的研究成果 | 第71-73页 |
学位论文数据集 | 第73页 |