第一阶段
KVM和XEN是实现hypervisor(系统管理)功能的2类主要技术。
如图所示,XEN位于基础硬件和虚拟机之间,早期是不受Linux内核支持的,IT管理员需要把开源Xen作为主流内核的补丁来安装,甚至安装后不能对内核做升级,否则会破坏Xen的功能。
KVM则是一种基于Linux内核的轻量级的虚拟化管理程序模块,通过提供一个/dev/kvm接口来实现cpu虚拟化+内存虚拟化。但KVM的kvm.ko本身只提供了CPU和内存的虚拟化,由QEMU模拟IO设备(网卡,磁盘等),最后形成了QEMU-KVM。
图中的QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,guest os可以和主机上的硬盘,网卡,CPU,CD-ROM,音频设备和USB设备进行交互。但由于所有指令都需要经过QEMU来翻译,因而性能会比较差。
Hipervisor位于操作系统和底层硬件之间&#x