几种常见的计算机虚拟技术

全虚拟化技术(Full virtualization)

全虚拟化技术即是对物理硬件进行完全虚拟的一种技术平台,所以在这样的平台运行的Guest OS是不需要对各种常规操作系统进行修改的。而且支持在同一平台上运行各种不同内核,不同类型的操作系统,相当于一台真正的物理机器。其最大的缺点是由于要完全虚拟化硬件,执行效率偏低,实际应用中成本也比较昂贵。常见的技术平台有:Parallels Workstation,Parallels Desktop for Mac,VirtualBox,Virtual Iron,Oracle VM,Virtual PC,Virtual Server,Hyper-V,VMware Workstation,VMware Server (formerly GSX Server),QEMU,Adeos,Mac-on-Linux,Win4BSD,Win4Lin Pro,and Egenera vBlade technology。

半虚拟化技术(Paravirtualization)

半虚拟化技术可以选择性的对部分硬件进行一些必要的虚拟,是全虚拟和内核级虚拟的一种折中的方法,所以其的各方面的表现上基本也是介于两者之间。使用半虚拟化技术需要对Guest OS进行一些必要的修改,对能使其正常运行在虚拟平台上。常见的技术平台有:Xen,UML,TRANGO和KVM。

操作系统级虚拟化技术(Operating system-level virtualization)

这是一个基于操作系统级的虚拟技术,其Guest OS环境和物理机器的系统共享同一个系统内核,有点类似于将各个运行环境隔离。所以在上面只能运行相同内核的系统,并需要对Guest OS做一些必要的修改,被广泛应用于现在的VPS中。常见的技术平台有:Solaris Containers, OpenVZ, Linux-VServer, AIX Workload Partitions, Parallels Virtuozzo Containers和 iCore Virtual Accounts。

硬件辅助虚拟化技术(Hardware-assisted virtualization)

这也是常说的HVM,使用这种虚拟技术可以不需要对 Guest OS进行修改。目前集成了虚拟技术支持的硬件平台有:x86 (and x86_64)—AMD-V,Intel VT-x ,IOMMU ,Power Architecture,Virtage (Hitachi),UltraSPARC T1, T2 and T2+(Sun)。
而支持这些硬件平台的虚拟技术软件有:Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac, VirtualBox and Parallels Workstation。

以上内容主要参考了wiki上的知识,不明之处可进一步详查。

发表评论

邮箱地址不会被公开。 必填项已用*标注