CPU 硬件辅助虚拟化(Hardware Assisted Virtualization) 2005 年后,虚拟化渐渐蔚为潮流,势不可挡。Intel 与AMD 决定从CPU 根本架构着手,更改原来的特权等级Ring 0、1、2、3,将之归类为Non-Root mode,又新增了一个Root mode 特权等级(有人称为Ring -1),这样一来,OS 便可以在原来Ring0 的等级,而VMM 则调整到更底层的Root Mode 等级,如图1-4 所示。
有了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,半虚拟化也不用再修改操作系统核心程序代码。 【责任编辑:云霞 TEL:(010)68476606】
|
|
来自: 王宇w3j0f3o2vv > 《待分类》