声明
摘要
图目录
表目录
第1章 绪论
1.1 课题背景
I.2 本文的工作与创新点
1.3 本文的内容组织
1.4 本章小结
第2章 相关背景知识及研究现状
2.1 Linux内存管理技术
2.1.1 内存管理
2.1.2 内存分配/释放
2.2 PHPA大页管理框架
2.3 页迁移技术
2.3.1 页迁移技术介绍
2.3.2 页迁移的目的和模式
2.4 内存热插拔
2.5 用户空间和内核空间通信方式
2.5.1 内核启动参数
2.5.2 模块参数
2.5.3 sysfs
2.5.4 sysctl
2.5.5 系统调用
2.5.6 netlink
2.5.7 procfs
2.6 研究现状
2.6.1 Linux大页介绍及设计目的
2.6.2 hugetlbfs
2.6.3 透明大页
2.7 本章小结
第3章 系统关键部分设计
3.1 需求场景分析
3.2 总体设计
3.3 大页控制模块设计
3.4 热插拔模块设计
3.4.1 proc文件系统
3.4.2 用户程序设计
3.5 大页迁移模块设计
3.6 本章小结
第4章 系统具体实现
4.1 整体工作流程
4.2 热插拔
4.2.1 proc创建文件
4.2.2 小页热插拔
4.2.3 大页热插拔
4.3 大页控制模块
4.4 大页迁移
4.4.1 反向映射机制
4.4.2 页的可迁移性
4.4.3 大页迁移流程
4.5 本章小结
第5章 系统测试与分析
5.1 测试环境部署
5.1.1 测试环境
5.1.2 部署安装
5.2 功能测试
5.2.1 单元测试
5.2.2 整体测试
5.3 性能测试
5.3.1 PHPA大页框架和原生Linux对比
5.3.2 小页转大页性能测试
5.3.3 大页转小页性能测试
5.4 本章小结
第6章 总结与展望
6.1 本文工作总结
6.2 未来工作
参考文献
攻读硕士学位期间主要的研究成果
致谢