kvm基于x86硬件辅助的虚拟化技术实现机制

kvm基于x86硬件辅助的虚拟化技术实现机制

ID:33677197

大小:140.92 KB

页数:27页

时间:2019-02-28

kvm基于x86硬件辅助的虚拟化技术实现机制_第1页
kvm基于x86硬件辅助的虚拟化技术实现机制_第2页
kvm基于x86硬件辅助的虚拟化技术实现机制_第3页
kvm基于x86硬件辅助的虚拟化技术实现机制_第4页
kvm基于x86硬件辅助的虚拟化技术实现机制_第5页
资源描述:

《kvm基于x86硬件辅助的虚拟化技术实现机制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、虚拟化,即在一个物理机上同时运行多个操作系统实例的技术,自20世纪60年代开始在IBM的大型主机等专有平台上获得了重要的应用。自80年代以来,基于X86处理器的PC技术开始高速发展并变得无处不在。然而由于PC的低廉价格,人们似乎淡忘虚拟化的存在意义。进入21世纪,随着数据中心技术的发展和VMware等厂商的推动,虚拟化开始进入PC领域,直到今天在有着广泛应用的PC平台上施用虚拟化技术已经成为了趋势性的事件。在IBM的大型主机上,虚拟化主要目的是用来让多个操作系统共享单个主机的资源,以最大化资源的利用

2、率。然而在今天,由于PC的无处不在,虚拟化的价值已经远不仅在于最大化单台物理机的资源利用率。相比较于传统的裸机操作系统,虚拟化能带来很多新的机会和优势。在笔者看来,虚拟化最少在如下方面好处明显:1、应用服务的整合和安全隔离。将多个物理机上运行的服务应用整合到一个物理机上,提高物理资源的利用率,极大的节省机房空间,提供灵活的电源管理,满足绿色经济的要求;同时为在小的空间内部署复杂的计算或网络环境提供可能(如IP测试床)。另一方面,原本运行在相同物理机上的多个应用可利用虚拟化方式部署进行隔离,提高应用的

3、安全性。2、快速动态部署能力快速及动态的部署使应用服务的高可用性变的更简单,使部署大规模的计算工作变的容易;提供商在动态部署的基础上,实行精确的按使用计费或按需计费,使计算资源租用作为一种商业模式变得更有吸引力,而计算资源租用模式本身可利用对资源的灵活分配,统一管理来节省对总体资源的消耗。3、削减操作系统和应用软件对硬件的依赖性使大量无需或者难以升级的旧的应用系统得以在新的硬件平台上继续运行,减少重新投资软件的必要。4、建立复杂的软件测试环境复杂的软件测试环境通常要求多个不同级别的处理器硬件平台,并

4、搭配不通的操作系统和编译器版本,对于一个中小型用户来说,利用物理硬件来满足这个要求通常是很困难的,然而虚拟化技术让这个要求变得容易实现,只需要虚拟化软件创建多个不同的虚拟机,仿真出不通的处理器特征,然后再安装各自的软件环境即可。为保持x86平台继续在数据中心服务器,计算工作站,个人电脑等市场的无处不在地位,Intel等x86厂商必然会想方设法适应虚拟化所带来的变化和要求,在x86上如何优化虚拟化技术的实现,提高虚拟化的性能是他们需要考虑的重大问题。在x86上运行虚拟化的具体问题虚拟化技术的一个重要要

5、求之一就是通过虚拟机监控软件(VMM)运行的操作系统(我们称之为客操作系统)在运行时,其运行效果应该和直接在裸机上运行操作系统是一致的,即客操作系统不应该感觉到虚拟化技术的存在。IBM的主机采用“trap-and-emulate”的方法来实现CPU的虚拟化,即一般的指令直接运行,那些可能改变主机全局行为的“敏感指令”则会被截取,交由VMM通过仿真来完成其功能。“trap-and-emulate”被认为是实现CPU虚拟化的最好方法。作者Popek和GoldBerg在1974年的一篇文章提出了“clas

6、sicvirtualization”的概念,该概念认为能够比较完好的实现“trap-and-emulate”的硬件平台才是“classicallyvirtualizable”的平台,即如果该平台上的VMM如果能够比较容易的捕获敏感指令,我们才认为该平台是典型的比较易于虚拟化的平台。X86平台由于其迅速的无处不在的统治力,在最初的设计上并没太多考虑虚拟化的要求,根据GoldBerg的标准,传统的x86属于非“classicallyvirtualizable”的平台。ScottRobin在2000年的文

7、章以IntelPentium为例详细介绍了x86平台在支持虚拟化方面存在的问题。GoldBerg的标准并不排除用其他方法解决“trap-and-emulate”的问题,如X86上的虚拟化提供商VMware和XenSource分别采用“BinaryTranslation”和“Para-virtualization”来解决敏感指令问题。其中“BinaryTranslation”技术提前发现敏感的指令并通过插入断点来截获之,交由VMM来解释执行。“Para-virtualization”方法则直接修改客操

8、作系统代码,修改其特权级,并将敏感指令改为TrapCall直接通知VMM来处理。这两种在软件上处心积虑的方法会导致软件实现的复杂性,限制了VMM性能的提升空间,“Para-virtualization”更是没法施用在Windows等私有操作系统上。在说明X86平台对虚拟化的支持能力之前,我们有必要解释一下特权级的概念。x86硬件支持4个特权级(Ring),一般内核运行在Ring0,用户应用运行在Ring3,更小的Ring有比更高的Ring能访问更多的系统全局资源,即更

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。