虚拟化落在实处---多种虚拟化技术介绍
2008-11-28 16:48:48 来源:WEB开发网服务器虚拟化的概念
服务器虚拟化技术(Virtualization)是指允许在同一硬件平台上同时运行多个操作系统的相关技术。目前,服务器虚拟化的相关产品使得我们可以在同一台物理服务器上,同时运行多个操作系统环境。典型的虚拟化服务器的结构如图1所示。
在操作系统环境和硬件平台之间增加了虚拟化软件层,它负责“翻译”硬件ISA,使得操作系统可以看到不同的ISA,构成虚拟的机器。此外,虚拟化软件还负责虚拟的资源、寄存器、内存等到物理资源的映射,以及如何利用物理机器指令来模拟虚拟系统的操作等。这种虚拟化软件通常叫做VMM(Virtual Machine Monitor),它的最初使用可以追溯到上个世纪60年代末。另外,我们还把被虚拟的操作系统环境叫做客户操作系统(Guest),而下面的系统平台成为宿主平台(Host)。
技术篇
服务器虚拟化的硬件支持
2006年初,英特尔宣布了其初步完成的Vanderpool技术外部架构规范(EAS),并称该技术可以帮助改进未来的虚拟化解决方案。英特尔表示,将在今年把Vanderpool应用于安腾架构平台,同时还计划在台式机处理器和芯片组产品中采用该技术。
Vanderpool的核心思想是给x86 CPU的各种特权指令的执行,都增加可以进行trap的可能。Vanderpool技术使得CPU运行在两种不同的模式下,即VMX-root和VMX-non-root。这两种模式都支持0-3的4个特权级。客户虚拟系统运行在VMX-non-root模式,VMM运行在VMX-root模式。Vanderpool新定义了从VMX-root到VMX-non-root的VMentry和从VMX-non-root返回VMX-root的VMexit的操作。VMentry和VMexit都会重新load CR3,以便VMM和Guest OS有不同的地址空间。CPU在VMX-non-root下执行,而执行CPUID、mov CR3、RDMSR、WDMSR等指令会无条件地触发VMexit;而其他的指令、中断和异常是否触发Vmexit,则根据VMCS的内容进行判断。
更多精彩
赞助商链接