基于虚拟机技术的安全驱动模型设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第1章 绪论 | 第14-22页 |
1.1 操作系统的不稳定性 | 第14-15页 |
1.2 提高操作系统稳定性的研究 | 第15-19页 |
1.2.1 对主流操作系统的改进 | 第16-18页 |
1.2.2 新的操作系统模型 | 第18-19页 |
1.3 虚拟化思想 | 第19-20页 |
1.3.1 虚拟机技术的分类及应用 | 第19-20页 |
1.3.2 虚拟机技术隔离驱动程序 | 第20页 |
1.4 后续章节提要 | 第20-22页 |
第2章 Linux操作系统及Java虚拟机介绍 | 第22-32页 |
2.1 Linux操作系统架构及稳定性分析 | 第22-25页 |
2.1.1 Linux内核结构 | 第22-24页 |
2.1.2 Linux系统稳定性分析 | 第24-25页 |
2.2 Java虚拟机及其安全性 | 第25-30页 |
2.2.1 Java语言的特点 | 第26页 |
2.2.2 Java虚拟机结构 | 第26-29页 |
2.2.3 Java虚拟机的安全策略 | 第29-30页 |
2.3 本章小结 | 第30-32页 |
第3章 系统设计及安全性分析 | 第32-41页 |
3.1 系统架构设计 | 第32-34页 |
3.1.1 虚拟化设计 | 第32-33页 |
3.1.2 虚拟机形态 | 第33页 |
3.1.3 性能考虑 | 第33页 |
3.1.4 系统设计 | 第33-34页 |
3.2 系统分析 | 第34-38页 |
3.2.1 与现有系统的兼容性 | 第35页 |
3.2.2 系统运行的安全性 | 第35-36页 |
3.2.3 通用驱动平台 | 第36-37页 |
3.2.4 系统原型实现 | 第37-38页 |
3.3 与已有研究成果的比较 | 第38-40页 |
3.3.1 Nooks | 第38-39页 |
3.3.2 全新的下一代操作系统 | 第39-40页 |
3.4 系统设计小结 | 第40-41页 |
第4章 内核态驱动模块 | 第41-55页 |
4.1 硬件抽象层 | 第41-45页 |
4.1.1 主流硬件平台上的外设架构 | 第41-43页 |
4.1.2 可靠通用的操作函数 | 第43页 |
4.1.3 简洁灵活的接口 | 第43-45页 |
4.2 内核管理模块 | 第45-50页 |
4.2.1 通信中介 | 第45-47页 |
4.2.2 资源管理 | 第47-48页 |
4.2.3 系统实现 | 第48-50页 |
4.3 安全机制分析 | 第50-52页 |
4.3.1 自身代码的安全性 | 第50页 |
4.3.2 安全监控作用 | 第50-52页 |
4.4 系统性能考虑 | 第52-53页 |
4.4.1 中断处理程序 | 第52-53页 |
4.4.2 高效数据传输 | 第53页 |
4.5 本章小结 | 第53-55页 |
第5章 模块之间的通信机制 | 第55-71页 |
5.1 进程间通信与Java本地接口 | 第55-60页 |
5.1.1 Java本地接口 | 第55-57页 |
5.1.2 进程间通信 | 第57-60页 |
5.2 进程间通信的功能实现 | 第60-65页 |
5.2.1 驱动程序间的通信 | 第60-61页 |
5.2.2 驱动程序对应用程序的服务接口 | 第61-65页 |
5.3 与内核模块的接口 | 第65-66页 |
5.3.1 设备初始化 | 第65页 |
5.3.2 数据访问与传输 | 第65-66页 |
5.4 不同驱动之间的隔离 | 第66-70页 |
5.4.1 USB设备的热插拔 | 第67-68页 |
5.4.2 设备驱动的加载和卸除 | 第68-69页 |
5.4.3 普遍意义下的驱动程序隔离 | 第69-70页 |
5.5 模块间通信小结 | 第70-71页 |
第6章 Java驱动程序设计 | 第71-88页 |
6.1 面向对象的驱动程序架构 | 第71-77页 |
6.1.1 驱动程序与对象描述 | 第71-72页 |
6.1.2 USB驱动协议栈 | 第72-76页 |
6.1.3 基于此架构的驱动程序开发 | 第76-77页 |
6.2 多线程编程 | 第77-81页 |
6.2.1 不同处理,不同速度 | 第77-78页 |
6.2.2 多线程设计 | 第78-79页 |
6.2.3 线程的有效同步 | 第79-80页 |
6.2.4 线程池的使用 | 第80-81页 |
6.3 异常与错误的捕获 | 第81-83页 |
6.3.1 非严重异常 | 第82页 |
6.3.2 严重异常 | 第82-83页 |
6.4 与C语言实现驱动的比较 | 第83-86页 |
6.4.1 宏的转换 | 第83-84页 |
6.4.2 全局变量的处理 | 第84-85页 |
6.4.3 内存指针的操作 | 第85-86页 |
6.5 本章小结 | 第86-88页 |
第7章 系统性能及安全性测试 | 第88-98页 |
7.1 测试环境、设备及方法 | 第88-89页 |
7.2 性能测试 | 第89-93页 |
7.2.1 中断响应测试 | 第89-90页 |
7.2.2 数据处理能力测试 | 第90-92页 |
7.2.3 性能测试结果分析 | 第92-93页 |
7.3 安全性测试 | 第93-97页 |
7.3.1 程序错误的捕获能力 | 第94页 |
7.3.2 程序不良行为的处理能力 | 第94-97页 |
7.4 测试结果小结 | 第97-98页 |
第8章 总结与展望 | 第98-101页 |
8.1 操作系统稳定性的提高 | 第98-99页 |
8.2 跨平台的通用驱动架构 | 第99页 |
8.3 有待解决的问题 | 第99-100页 |
8.4 未来的发展方向 | 第100-101页 |
参考文献 | 第101-104页 |
致谢 | 第104-105页 |
攻读学位期间发表的学术论文 | 第105页 |