硬件虚拟机的设计与实现
发布时间:2020-10-22 02:38
在计算机科学中,虚拟化技术被认为是可以组合或分割现有的计算机资源,使得这些资源表现为一个或多个操作系统环境,从而提供优于原有资源配置的一种新技术。虚拟化技术就是对计算机资源的重新分配,提高计算机资源的利用率。 模拟器是比较早的一种虚拟化技术,这种技术只模拟物理机器的最小的一个指令的集合。由于这是一个完全的软件解决方案,每一条Guest OS的指令都需要监控程序翻译执行,性能一直不高,但是可以支持比较广泛的操作系统。相对而言,泛虚拟化技术已经比较成熟,可以比较稳定地启动修改过的Guest OS,经过测试,具有比较好的性能。但是,泛虚拟化技术所支持的Guest OS必须要经过修改。只有那些开源的操作系统才可以作为Guest OS,而商业的OS则被拒之门外。 本文研究的硬件虚拟化技术就是对模拟器和泛虚拟化技术的一种结合,不但要获得接近真实物理机器的性能,同时,也要支持更为广泛的Guest OS,成功地启动未经过修改的Guest OS。 本文首先对虚拟化技术研究的意义和国内外研究情况进行了介绍,阐述了目前虚拟化技术领域内的研究成果。总结出虚拟化技术的基本理论。通过虚拟化技术的特征对其进行分类,对比各类虚拟化技术的优缺点以及适用的领域。 文章重点介绍我们对基于硬件指令支持的虚拟机的研究。我们预测,这类虚拟机具有比较好的性能。本文详细的阐述了这类虚拟机的设计和实现,其中包括虚拟机的CPU的虚拟化,涉及到物理CPU与VCPU的映射和调度;在内存虚拟化方面,我们采用了影子页表技术。通过阅读本文,读者可以完全了解硬件虚拟机是如何工作的,按照本文所描述的步骤,借助参考文献读者可以自己完成一个简单的虚拟机。 虚拟化技术在最近几年从技术上日趋成熟,并且开始走向多样化。应用相当广泛,并且起着重要的作用,尤其是在服务器和存储领域,虚拟化技术将发挥决定性的作用。限于篇幅,文中只对常见的应用作了简要的说明。 最后,我们成功地启动未经过修改的Guest OS。性能测试报告证明,我们设计和实现的虚拟机性能接近真实的物理机器,成功地达到了我们预期的目标。
【学位单位】:电子科技大学
【学位级别】:硕士
【学位年份】:2008
【中图分类】:TP391.9;TP303
【文章目录】:
摘要
Abstract
第一章 引言
1.1 选题背景
1.2 国内外虚拟化技术研究现状
1.3 本人所做的研究工作
1.4 本文创新点
1.5 论文的结构
第二章 虚拟化技术概述
2.1 虚拟化技术的基本概念
2.2 虚拟化的理论基础
2.3 认识虚拟化技术
2.4 虚拟化技术分类
2.4.1 硬件层
2.4.2 硬件抽象层
2.4.3 指令集架构层
2.4.4 操作系统层
2.4.5 库函数层
2.4.6 应用层
2.5 虚拟化技术对比
2.6 规范与标准化
2.7 设计虚拟机应考虑的几个因素
2.8 国内外虚拟化研究进展
2.8.1 VMware
2.8.2 KVM
2.8.3 容器虚拟化技术
2.9 虚拟机的典型应用
2.10 本章小结
第三章 处理器的虚拟化
3.1 泛虚拟化技术中CPU的虚拟化
3.2 虚拟化技术的硬件支持
3.2.1 虚拟机的生命周期
3.2.2 虚拟机控制结构(VMCS)
3.2.3 虚拟机指令
3.3 硬件虚拟机CPU的虚拟化
3.3.1 HVM体系结构模型
3.3.2 HVM工作原理
3.4 HVM对称多处理器的支持
3.4.1 UP和SMP中断系统
3.4.2 硬件虚拟机的SMP架构
3.4.3 多处理器资源的配置和检测
3.4.4 中断处理
3.4.5 多处理器的启动
3.5 本章小结
第四章 内存的虚拟化
4.1 操作系统的内存管理回顾
4.2 内存虚拟化的常见方法
4.2.1 实施内存虚拟化的原因
4.2.2 内存虚拟化常见方法
4.3 影子页表理论基础
4.3.1 影子页表的引入
4.3.2 影子页表的工作原理
4.3.3 LA到HPA的转换过程
4.3.4 影子页表的创建
4.4 影子页表的实现
4.4.1 虚拟TLB机制
4.4.2 缺页的处理
4.4.3 INVLPG指令仿真
4.4.4 CR3切换仿真
4.5 影子页表优化
4.5.1 优化算法设计
4.5.2 GPT和SPT的同步
4.6 本章小结
第五章 虚拟机的性能优化和测试
5.1 性能测试方案的设计
5.1.1 确定测试点
5.1.2 设计测试方案
5.2 确定性能瓶颈
5.2.1 测试方案的改进
5.2.2 测试结果分析
5.3 解决方案
5.4 硬件虚拟机综合性能测试报告
5.4.1 基准测试工具的选择
5.4.2 测试环境
5.4.3 性能测试报告
5.4.4 性能可扩展性测试报告
5.5 本章小结
第六章 结论
6.1 结论
6.2 下一步工作的展望
致谢
参考文献
个人简历以及研究成果
【引证文献】
本文编号:2850976
【学位单位】:电子科技大学
【学位级别】:硕士
【学位年份】:2008
【中图分类】:TP391.9;TP303
【文章目录】:
摘要
Abstract
第一章 引言
1.1 选题背景
1.2 国内外虚拟化技术研究现状
1.3 本人所做的研究工作
1.4 本文创新点
1.5 论文的结构
第二章 虚拟化技术概述
2.1 虚拟化技术的基本概念
2.2 虚拟化的理论基础
2.3 认识虚拟化技术
2.4 虚拟化技术分类
2.4.1 硬件层
2.4.2 硬件抽象层
2.4.3 指令集架构层
2.4.4 操作系统层
2.4.5 库函数层
2.4.6 应用层
2.5 虚拟化技术对比
2.6 规范与标准化
2.7 设计虚拟机应考虑的几个因素
2.8 国内外虚拟化研究进展
2.8.1 VMware
2.8.2 KVM
2.8.3 容器虚拟化技术
2.9 虚拟机的典型应用
2.10 本章小结
第三章 处理器的虚拟化
3.1 泛虚拟化技术中CPU的虚拟化
3.2 虚拟化技术的硬件支持
3.2.1 虚拟机的生命周期
3.2.2 虚拟机控制结构(VMCS)
3.2.3 虚拟机指令
3.3 硬件虚拟机CPU的虚拟化
3.3.1 HVM体系结构模型
3.3.2 HVM工作原理
3.4 HVM对称多处理器的支持
3.4.1 UP和SMP中断系统
3.4.2 硬件虚拟机的SMP架构
3.4.3 多处理器资源的配置和检测
3.4.4 中断处理
3.4.5 多处理器的启动
3.5 本章小结
第四章 内存的虚拟化
4.1 操作系统的内存管理回顾
4.2 内存虚拟化的常见方法
4.2.1 实施内存虚拟化的原因
4.2.2 内存虚拟化常见方法
4.3 影子页表理论基础
4.3.1 影子页表的引入
4.3.2 影子页表的工作原理
4.3.3 LA到HPA的转换过程
4.3.4 影子页表的创建
4.4 影子页表的实现
4.4.1 虚拟TLB机制
4.4.2 缺页的处理
4.4.3 INVLPG指令仿真
4.4.4 CR3切换仿真
4.5 影子页表优化
4.5.1 优化算法设计
4.5.2 GPT和SPT的同步
4.6 本章小结
第五章 虚拟机的性能优化和测试
5.1 性能测试方案的设计
5.1.1 确定测试点
5.1.2 设计测试方案
5.2 确定性能瓶颈
5.2.1 测试方案的改进
5.2.2 测试结果分析
5.3 解决方案
5.4 硬件虚拟机综合性能测试报告
5.4.1 基准测试工具的选择
5.4.2 测试环境
5.4.3 性能测试报告
5.4.4 性能可扩展性测试报告
5.5 本章小结
第六章 结论
6.1 结论
6.2 下一步工作的展望
致谢
参考文献
个人简历以及研究成果
【引证文献】
相关期刊论文 前1条
1 孔思淇;潘泽友;;虚拟化主机技术在企业中的应用[J];兵工自动化;2011年08期
相关硕士学位论文 前4条
1 李勇;虚拟机监控器内存管理机制研究与实现[D];解放军信息工程大学;2010年
2 崔泽永;基于KVM的虚拟机调度方法研究[D];北方工业大学;2011年
3 张海蒂;基于μC/OS-II的智能控制虚拟机设计与研究[D];江苏科技大学;2011年
4 方明;X86架构I/O子系统仿真技术研究与设计[D];解放军信息工程大学;2011年
本文编号:2850976
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2850976.html