RedHatKVM
虚拟化方法:完全虚拟化。
结构:寄居结构(linux核心);RHEV-H金属结构。
特性:RHEV-H金属架构,或者在关键硬盘和网卡上支持半虚拟VirtIO,以达到较佳性能。
I/O协议栈:KVM重用了整个LinuxI/O协议栈,所以KVM用户自然会得到较新的驱动和I/O协议栈的改进。
VmWareESX
虚拟化方法:完全虚拟化。
结构:裸金属结构。
I/O协议栈:VMware选择性能,但将I/O协议栈放入hypervisor中。遗憾的是,VMwarekernel是无二的,这意味着VMware必须开发和维护整个协议栈,这将导致开发速度减慢,你的硬件可能需要一段时间才能得到VMware的支持。
CitrixXenServer
虚拟化模式:半虚拟化(linux安装linux);全虚拟化(linux安装windows),硬件辅助虚拟化。
结构:裸金属结构。
I/O协议栈:Xen选择了可维护的道路,将所有I/O操作放入Linuxguest,即所谓的domain-0。重用Linux做I/O,Xen的维护人员不需要重写整个I/O协议栈。不幸的是,这牺牲了性能:每次中断都必须经过Xen的调度才能切换到domain0,所有的东西都必须经过附加层的映射。
MicrosoftHyper-V
虚拟化方法:半虚拟化。
体系结构:裸金属体系结构Hyper-VServer;寄居体系结构Windows2008。
特征:父分区(宿主机操作系统)的位置移动到子分区(虚拟机操作系统)旁边,宿主机操作系统和虚拟机操作系统是水平的,谁也不依赖谁。
I/O协议栈:虚拟机看到的所有设备都不再是虚拟的,有些硬件资源是真实的物理设备。