构建虚拟机的体系结构要求 – 定理
严格虚拟化的Popek和Golberg准则
1、平等
虚拟机上的应用程序应该跟直接运行在计算机硬件上相同
2、安全
vmm必须是由硬件所控制的,不可以被运行的虚拟机所中断,虚拟机和计算机硬件是隔离的,并像是和在不同机器上运行一样。另外,虚拟机之间是隔离的,
3、效率
虚拟化环境下最坏的情况要比直接运行在硬件上差一点点。
未有体系结构支持的虚拟化
VMware
在1999年的时候,VMware就推出了第一代VMware Workstation,它也是第一个运行在32位x86上的vmm。VMware工作站将虚拟机的Popek和Goldberg的三个核心属性改编为基于x86的目标平台,如下所示:
1、平等性
x86-32架构有17条虚拟化敏感的非特权指令,这违反了严格虚拟化的Popek和Golberg标准。这就排除 了 传统陷入模拟虚拟化.的方法。事实上,英特尔公司的工程师们确信他们的处理器在任何实际意义上都不可能被虚拟化。VMware的解决方案将直接执行(在可能的情况下使用,特别是在运行应用程序时)与动态二进制转换(在需要的情况下,特别是在运行客户操作时)结合在一起。
虚拟化技术
半虚拟化 – guest os can perceive itself as a virtual machine
全虚拟化 – guest os
VT-X 下的cpu虚拟化 – 硬件支持全虚拟化
VT-X的设计要求
Intel虚拟化技术的一个核心设计目标是消除对CPU半虚拟化和