虚拟化技术
虚拟化类型 在虚拟化蓬勃发展的这些年里,虚拟化可以根据不同划分标准进行分类,包括全虚拟化,CPU 虚拟化,硬件虚拟化,服务器虚拟化,桌面虚拟化等等。我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用 Hypervisor,隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(即虚拟机)。 这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。例如 VMware Workstation 是一个著名的全虚拟化的 VMM,但是它使用了一种被称为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的操作,从而避免了低效的 Trap-And-Emulate (陷入-模拟)的处理方式,这与半虚拟化相似,只不过半虚拟化是静态地修改程序代码。对于半虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。 下面分别介绍四类主流的分类方法: 从虚拟化的层次划分,主要分为软件辅助的虚拟化和硬件辅助的虚拟化。 软件辅助虚拟化:通过软件的方法,让客户机的特权指令陷入异常,从而触发宿主机进行虚拟化。主要使用的技术就是优先级压缩和二进制代码翻译。 硬件辅助虚拟化:是指在 CPU 中加入新的指令集和处理器运行模式,完成虚拟化操作系统对硬件资源的的直接调用。典型技术指的是 Intel VT,AMD-V。 从虚拟平台角度分为全虚拟化和半虚拟化