硬件虚拟机的设计与实现

硬件虚拟机的设计与实现

论文摘要

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

论文目录

  • 摘要
  • 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].基于虚拟机迁移的高校网络优化模型设计研究[J]. 湖北师范大学学报(自然科学版) 2019(04)
    • [2].基于可信链的虚拟机可信迁移方法[J]. 指挥控制与仿真 2019(06)
    • [3].基于负载优化的虚拟机放置方法[J]. 智能计算机与应用 2019(06)
    • [4].一种基于冗余跳变的虚拟机动态迁移方法[J]. 计算机工程 2020(02)
    • [5].云环境下虚拟机管理研究综述[J]. 长春师范大学学报 2020(04)
    • [6].绿色云计算环境中基于温度感知的虚拟机迁移策略[J]. 重庆邮电大学学报(自然科学版) 2020(02)
    • [7].使用即时恢复功能恢复虚拟机[J]. 网络安全和信息化 2020(01)
    • [8].正常恢复虚拟机[J]. 网络安全和信息化 2020(01)
    • [9].Ubuntu VirtualBox虚拟机管理实战[J]. 网络安全和信息化 2020(05)
    • [10].基于虚拟机动态迁移的负载均衡策略[J]. 计算机系统应用 2020(05)
    • [11].基于多目标优化的虚拟机放置方法[J]. 重庆邮电大学学报(自然科学版) 2020(03)
    • [12].高校云计算数据处理中虚拟机迁移与轮转模式研究[J]. 井冈山大学学报(自然科学版) 2020(03)
    • [13].云环境下网络感知的虚拟机分配问题的求解方法[J]. 吉林大学学报(工学版) 2020(04)
    • [14].善用免费工具监测虚拟机运行[J]. 网络安全和信息化 2020(07)
    • [15].云环境中基于分组的安全虚拟机放置方法[J]. 信息网络安全 2020(08)
    • [16].基于跨虚拟机零下陷通信的加速器虚拟化框架[J]. 软件学报 2020(10)
    • [17].基于自适应虚拟机迁移的云资源调度机制[J]. 计算机科学 2020(09)
    • [18].虚拟机隐藏进程检测系统设计与实现[J]. 现代计算机(专业版) 2019(01)
    • [19].一种无代理虚拟机进程监控方法[J]. 南京大学学报(自然科学) 2019(02)
    • [20].灵活管理虚拟机[J]. 网络安全和信息化 2019(05)
    • [21].巧用虚拟机维护多媒体教室计算机之我见[J]. 信息记录材料 2019(04)
    • [22].浅析云计算虚拟机部署方案[J]. 电子世界 2019(15)
    • [23].一种基于服务次数的云虚拟机资源部署算法[J]. 中国新通信 2017(23)
    • [24].快速克隆千台虚拟机[J]. 网络安全和信息化 2017(06)
    • [25].创建虚拟机与远程管理[J]. 网络安全和信息化 2017(05)
    • [26].虚拟机复制管理[J]. 网络安全和信息化 2018(06)
    • [27].虚拟机“句柄无效”无法开机[J]. 网络安全和信息化 2018(09)
    • [28].云计算环境下虚拟机服务质量保证和评估方法:研究综述[J]. 云南大学学报(自然科学版) 2018(06)
    • [29].创建虚拟机用于测试[J]. 网络安全和信息化 2016(04)
    • [30].虚拟机配置越高越好?[J]. 网络安全和信息化 2016(01)

    标签:;  ;  ;  ;  ;  

    硬件虚拟机的设计与实现
    下载Doc文档

    猜你喜欢