学位论文 > 优秀研究生学位论文题录展示

硬件虚拟机的设计与实现

作 者: 郑绍辉
导 师: 周明天
学 校: 电子科技大学
专 业: 计算机软件与理论
关键词: 虚拟化 虚拟机监控程序 全虚拟化 内存虚拟化 影子页表
分类号: TP303
类 型: 硕士论文
年 份: 2008年
下 载: 398次
引 用: 5次
阅 读: 论文下载
 

内容摘要


在计算机科学中,虚拟化技术被认为是可以组合或分割现有的计算机资源,使得这些资源表现为一个或多个操作系统环境,从而提供优于原有资源配置的一种新技术。虚拟化技术就是对计算机资源的重新分配,提高计算机资源的利用率。模拟器是比较早的一种虚拟化技术,这种技术只模拟物理机器的最小的一个指令的集合。由于这是一个完全的软件解决方案,每一条Guest OS的指令都需要监控程序翻译执行,性能一直不高,但是可以支持比较广泛的操作系统。相对而言,泛虚拟化技术已经比较成熟,可以比较稳定地启动修改过的Guest OS,经过测试,具有比较好的性能。但是,泛虚拟化技术所支持的Guest OS必须要经过修改。只有那些开源的操作系统才可以作为Guest OS,而商业的OS则被拒之门外。本文研究的硬件虚拟化技术就是对模拟器和泛虚拟化技术的一种结合,不但要获得接近真实物理机器的性能,同时,也要支持更为广泛的Guest OS,成功地启动未经过修改的Guest OS。本文首先对虚拟化技术研究的意义和国内外研究情况进行了介绍,阐述了目前虚拟化技术领域内的研究成果。总结出虚拟化技术的基本理论。通过虚拟化技术的特征对其进行分类,对比各类虚拟化技术的优缺点以及适用的领域。文章重点介绍我们对基于硬件指令支持的虚拟机的研究。我们预测,这类虚拟机具有比较好的性能。本文详细的阐述了这类虚拟机的设计和实现,其中包括虚拟机的CPU的虚拟化,涉及到物理CPU与VCPU的映射和调度;在内存虚拟化方面,我们采用了影子页表技术。通过阅读本文,读者可以完全了解硬件虚拟机是如何工作的,按照本文所描述的步骤,借助参考文献读者可以自己完成一个简单的虚拟机。虚拟化技术在最近几年从技术上日趋成熟,并且开始走向多样化。应用相当广泛,并且起着重要的作用,尤其是在服务器和存储领域,虚拟化技术将发挥决定性的作用。限于篇幅,文中只对常见的应用作了简要的说明。最后,我们成功地启动未经过修改的Guest OS。性能测试报告证明,我们设计和实现的虚拟机性能接近真实的物理机器,成功地达到了我们预期的目标。

全文目录


摘要  4-5
Abstract  5-14
第一章 引言  14-19
  1.1 选题背景  14-15
  1.2 国内外虚拟化技术研究现状  15-16
  1.3 本人所做的研究工作  16
  1.4 本文创新点  16-17
  1.5 论文的结构  17-19
第二章 虚拟化技术概述  19-36
  2.1 虚拟化技术的基本概念  19-20
  2.2 虚拟化的理论基础  20-24
  2.3 认识虚拟化技术  24-25
  2.4 虚拟化技术分类  25-29
    2.4.1 硬件层  26-27
    2.4.2 硬件抽象层  27
    2.4.3 指令集架构层  27-28
    2.4.4 操作系统层  28
    2.4.5 库函数层  28-29
    2.4.6 应用层  29
  2.5 虚拟化技术对比  29-30
  2.6 规范与标准化  30-31
  2.7 设计虚拟机应考虑的几个因素  31-32
  2.8 国内外虚拟化研究进展  32-34
    2.8.1 VMware  32-33
    2.8.2 KVM  33-34
    2.8.3 容器虚拟化技术  34
  2.9 虚拟机的典型应用  34-35
  2.10 本章小结  35-36
第三章 处理器的虚拟化  36-52
  3.1 泛虚拟化技术中CPU的虚拟化  36-39
  3.2 虚拟化技术的硬件支持  39-42
    3.2.1 虚拟机的生命周期  39-40
    3.2.2 虚拟机控制结构(VMCS)  40-41
    3.2.3 虚拟机指令  41-42
  3.3 硬件虚拟机CPU的虚拟化  42-46
    3.3.1 HVM体系结构模型  42-44
    3.3.2 HVM工作原理  44-46
  3.4 HVM对称多处理器的支持  46-51
    3.4.1 UP和SMP中断系统  47-48
    3.4.2 硬件虚拟机的SMP架构  48
    3.4.3 多处理器资源的配置和检测  48-49
    3.4.4 中断处理  49-50
    3.4.5 多处理器的启动  50-51
  3.5 本章小结  51-52
第四章 内存的虚拟化  52-69
  4.1 操作系统的内存管理回顾  52-54
  4.2 内存虚拟化的常见方法  54-56
    4.2.1 实施内存虚拟化的原因  54-55
    4.2.2 内存虚拟化常见方法  55-56
  4.3 影子页表理论基础  56-60
    4.3.1 影子页表的引入  56-57
    4.3.2 影子页表的工作原理  57
    4.3.3 LA到HPA的转换过程  57-59
    4.3.4 影子页表的创建  59-60
  4.4 影子页表的实现  60-65
    4.4.1 虚拟TLB机制  60-62
    4.4.2 缺页的处理  62-64
    4.4.3 INVLPG指令仿真  64
    4.4.4 CR3切换仿真  64-65
  4.5 影子页表优化  65-68
    4.5.1 优化算法设计  65-67
    4.5.2 GPT和SPT的同步  67-68
  4.6 本章小结  68-69
第五章 虚拟机的性能优化和测试  69-77
  5.1 性能测试方案的设计  69-70
    5.1.1 确定测试点  69
    5.1.2 设计测试方案  69-70
  5.2 确定性能瓶颈  70-72
    5.2.1 测试方案的改进  70-71
    5.2.2 测试结果分析  71-72
  5.3 解决方案  72
  5.4 硬件虚拟机综合性能测试报告  72-76
    5.4.1 基准测试工具的选择  73
    5.4.2 测试环境  73-74
    5.4.3 性能测试报告  74-75
    5.4.4 性能可扩展性测试报告  75-76
  5.5 本章小结  76-77
第六章 结论  77-79
  6.1 结论  77
  6.2 下一步工作的展望  77-79
致谢  79-80
参考文献  80-83
个人简历以及研究成果  83

相似论文

  1. 虚拟桌面系统中应用服务的管理与协同,TP316.7
  2. 基于Xen的声音设备虚拟化的研究,TP391.9
  3. 虚拟机镜像文件的废弃空间回收系统,TP302
  4. 基于逻辑卷的分级存储系统设计与实现,TP333
  5. Xen虚拟化网络I/O优化方法,TP302
  6. 基于硬件计数器虚拟化的多虚拟机性能评测研究,TP302
  7. 虚拟环境中多网络接口卡I/O调度系统的研究,TP334.7
  8. 轻量级虚拟机管理器及其安全应用研究,TP302
  9. 基于锁感知的多处理机VCPU调度系统,TP332
  10. 轻量级虚拟机的多平台扩展,TP391.9
  11. 虚拟计算环境中CPU开销的测量系统,TP332
  12. 虚拟桌面环境下数据去冗余系统的设计与实现,TP333
  13. 基于虚拟机内存模板的云计算服务系统,TP393.09
  14. 基于硬件虚拟化的文件保护系统的研究,TP309
  15. 基于虚拟机的安全监测研究,TP274
  16. 虚拟桌面管理的研究及应用,TP316.7
  17. 基于Linux的分布式交换机设备虚拟化技术研究,TP393.05
  18. 基于Exchange的中小企业邮件系统的研究与实现,TP393.098
  19. 基于特征场景模拟器的虚拟机性能测试研究,TP302
  20. 基于Xen虚拟机的资源管理系统的研究与实现,TP311.52
  21. 虚拟化平台下基于BLP的网络访问控制机制研究与实现,TP393.08

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 总体结构、系统结构
© 2012 www.xueweilunwen.com