当前位置: 首页 > 业界动态 > 技术实现 > 本文


CPU 硬件辅助虚拟化




发布时间: 2012-8-14 13:39:36  

    2005 年后,虚拟化渐渐蔚为潮流,势不可挡。Intel 与AMD 决定从CPU 根本架构着手,更改原来的特权等级Ring 0、1、2、3,将之归类为Non-Root mode,又新增了一个Root mode 特权等级(有人称为Ring -1),这样一来,OS 便可以在原来Ring0 的等级,而VMM 则调整到更底层的Root Mode 等级,如图1-4 所示。

图1-4 CPU 硬件辅助虚拟化(Intel VT and AMD-V)

    有了CPU 硬件支持虚拟化技术之后,最大的好处就是不再需要以前BinaryTranslation 或Paravirtualization 的操作,虚拟化厂商再也不用费心在这里想办法解决问题,全虚拟化厂商的性能追上了半虚拟化厂商,半虚拟化厂商也可支持不修改内核的操作系统了(例如Windows 或绝大多数的Linux)。

    也就是说,如果你的机器支持Intel VT-x 与AMD-V,那么采用的是全虚拟化或半虚拟化技术,性能方面差别不大,只是虚拟层结构运行方式稍有不同。VMware 也宣布在下一版的产品中将不再支持VMI 功能。

    注:有关虚拟化技术在此只是浅谈,CPU 硬件辅助虚拟化其实又分成初代和二代,二代新增了MMU(memory management unit)虚拟化,也就是Intel EPT 和AMD RVI,如果读者对x86 Virtualization 有更进一步的兴趣,可登录VMware、Citrix、Intel 与AMD网站查询更详细的相关信息。

    Q:我听到全虚拟化、半虚拟化指的是Hosted 与Bare-metal 的差别?

    并非如此。许多人误以为VMware Workstation、微软Virtual PC 这些要有host OS 的虚拟化软件称为全虚拟化,而企业级应用如ESX、Hyper-V 产品就是半虚拟化,这并不正确。

    各位在看了前面的说明之后,就会知道Full Virtualization 与ParaVirtualization是针对在进行虚拟化时,为了解决OS 与CPU 之间因为特权等级的调整产生的nonvirtualizable instructions 问题所采用的不同技术解决方案。

    实际上VMware 一直是全虚拟化技术的厂商,使用的是二进制转译(BinaryTranslation)方式来进行虚拟化,ESX、VMware Server、Workstation 都是如此。

    现在有了CPU 硬件辅助虚拟化的支持,全虚拟化可以不再需要进行BinaryTranslation,半虚拟化也不用再修改操作系统核心程序代码。

    本文来源:51CTO

 

    相关文章推荐:利用虚拟化实现云服务器的高利用率

分享到:
阅读:2048次
推荐阅读:

版权所有 © 2011-2016 南京云创大数据科技股份有限公司(股票代码:835305), 保留一切权利。(苏ICP备11060547号-1)  
云创大数据-领先的云存储、大数据、云计算产品供应商