三、QEMU设备模块

qemu本身是一个著名的开源虚拟机软件,它是由纯软件的形式实现的,性能比较差。优点是在支持在编译QEMU的平台上直接就可以实现虚拟化的功能,甚至创建的虚拟机可以与宿主机不是同一个架构。QEMU 的代码中有整套的虚拟机实现,包括处理器虚拟化、内存虚拟化,以及KVM 使用到的虚拟设备模拟(比如网卡、显卡、存储控制器和硬盘等)。

KVM 在QEMU 的基础上进行了修改,虚拟机运行期间,QEMU 会通过KVM 模块提供的系统调用进入内核,由KVM 模块负责将虚拟机置于处理器的特殊模式运行。当虚拟机进行IO操作的时候,KVM 模块会从上次的系统调用出口处返回到QEMU,由QEMU 来负责解析和模拟这些设备。

从QEMU 角度来说,QEMU是使用了KVM 模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化的加速,从而大大的提高了虚拟机的性能。除此之外,虚拟机的配置和创建,虚拟机运行依赖的虚拟设备,虚拟机运行时的用户操作环境和交互,以及一些针对虚拟机的特殊技术(比如动态迁移),都是由QEMU 本身实现的。

results matching ""

    No results matching ""