一. 关于QEMU和KVM
QEMU是一款处理器模拟软件,可以提供用户模式模拟和系统模式模拟。当处于用户模式模拟状态时,将使用动态翻译技术,允许一个cpu构建的进程在另一个cpu上执行。系统模式模拟状态下,允许对整个pc系统的处理器和所使用到的相关外围设备进行模拟。qemu提供的仿真外设包括硬件Video Graphics Array (VGA) 仿真器、PS/2 鼠标和键盘、集成开发环境(IDE)硬盘和 CD-ROM 接口,以及软盘仿真。也包括对E2000 Peripheral Controller Interconnect (PCI) 网络适配器、串行端口、大量的声卡和 PCI Universal Host Controller Interface (UHCI) Universal Serial Bus (USB) 控制器(带虚拟 USB 集线器)的仿真。除了仿真标准 PC 或 ISA PC(不带 PCI 总线)外,QEMU 还可以仿真其他非 PC 硬件,如 ARM Versatile 基线板(使用 926E)和 Malta million instructions per second (MIPS) 板。对于各种其他平台,包括 Power Macintosh G3 (Blue & White) 和 Sun-4u 平台,都能正常工作。
图1.qemu可进行模拟的外围设备
KVM是一种依赖硬件虚拟化技术(Intel VT或者AMD V)的裸机虚拟化程序,它使用 Linux 内核作为它的虚拟机管理程序。对 KVM 虚拟化的支持自 2.6.20 版开始已成为主流 Linux 内核的默认部分。KVM支持的操作系统非常广泛,包括Linux、BSD、Solaris、Windows、Haiku、ReactOS 和 AROS Research Operating System。
在 KVM 架构中,虚拟机实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度。事实上,每个虚拟 CPU 显示为一个常规的 Linux 进程。这使 KVM 能够享受 Linux 内核的所有功能。设备模拟由提供了修改过的 qemu 版本来完成。