摘要 | 第4-5页 |
abstract | 第5-6页 |
第1章 绪论 | 第12-16页 |
1.1 课题背景 | 第12-13页 |
1.2 研究工作 | 第13-14页 |
1.3 论文结构 | 第14-16页 |
第2章 内核模块隔离保护研究现状 | 第16-22页 |
2.1 引言 | 第16页 |
2.2 内核模块隔离保护研究现状 | 第16-18页 |
2.3 动态数据混合页问题的研究现状 | 第18-19页 |
2.4 内核组件静态数据隔离的研究现状 | 第19页 |
2.5 本章小结 | 第19-22页 |
第3章 标识内存分配来源的Linux动态内存分配器的设计与实现 | 第22-34页 |
3.1 引言 | 第22页 |
3.2 研究动机 | 第22-23页 |
3.3 Linux物理内存分配器简介 | 第23-27页 |
3.3.1 伙伴系统 | 第23-25页 |
3.3.2 SLUB系统 | 第25-27页 |
3.4 新SLUB动态内存分配器设计 | 第27-28页 |
3.5 新SLUB动态内存分配器实现 | 第28-32页 |
3.5.1 关于来源内存分配标志的指定 | 第29页 |
3.5.2 关于冗余kmem_cache结构的建立 | 第29-30页 |
3.5.3 关于接口函数的修改 | 第30-31页 |
3.5.4 关于实现sysfs中对于新增缓存的管理 | 第31-32页 |
3.6 本章小结 | 第32-34页 |
第4章 基于内核页表的动态数据隔离方法与实现 | 第34-52页 |
4.1 引言 | 第34页 |
4.2 研究动机 | 第34-36页 |
4.3 X64架构下地址空间和页表简介 | 第36-41页 |
4.3.1 X64地址空间 | 第36-38页 |
4.3.2 X64页表简介 | 第38-41页 |
4.4 隔离设计 | 第41-44页 |
4.4.1 总体架构 | 第41-42页 |
4.4.2 内核态页表构建 | 第42-44页 |
4.4.3 伙伴系统内存分配器改造设计 | 第44页 |
4.5 隔离实现 | 第44-51页 |
4.5.1 内核页表构建和同步 | 第44-48页 |
4.5.2 伙伴系统改造实现 | 第48-49页 |
4.5.3 细粒度的访问权限实现 | 第49-51页 |
4.6 本章小结 | 第51-52页 |
第5章 基于内核页表的静态数据隔离方法与实现 | 第52-62页 |
5.1 引言 | 第52页 |
5.2 研究动机 | 第52-53页 |
5.3 隔离设计 | 第53-56页 |
5.3.1 针对内核模块的内核页表构建 | 第53-54页 |
5.3.2 内核动态模块静态数据隔离 | 第54-55页 |
5.3.3 文件系统静态数据隔离 | 第55-56页 |
5.4 隔离实现 | 第56-61页 |
5.4.1 内核动态模块静态数据隔离 | 第56-60页 |
5.4.2 文件系统静态数据隔离 | 第60-61页 |
5.5 本章小结 | 第61-62页 |
第6章 实验验证与分析 | 第62-82页 |
6.1 实验环境 | 第62页 |
6.2 实验方法 | 第62-82页 |
6.2.1 改造后的SLUB内存分配器实验 | 第62-67页 |
6.2.2 基于内核页表实现内核组件动态数据隔离实验 | 第67-76页 |
6.2.3 基于内核页表实现内核组件静态数据隔离实验 | 第76-82页 |
第7章 结束语 | 第82-84页 |
7.1 本文成果 | 第82-83页 |
7.2 未来展望 | 第83-84页 |
参考文献 | 第84-88页 |
附录 | 第88-90页 |
附录A:攻读硕士学位期间参加的科研项目 | 第88页 |
附录B:攻读硕士学位期间发表的专利成果 | 第88-90页 |
致谢 | 第90-91页 |