QEMU是一种通用的开源计算机模拟器(emulator)和虚拟机(virtualizer)

(1)当用作机器模拟器时,QEMU 可以在一台机器(例如自己的 PC)上运行为另一台机器(例如 ARM 板)制作的操作系统和程序。通过使用动态翻译,它实现了非常好的性能。即: QEMU 可以在一种 CPU 架构上模拟另一种CPU架构,运行程序。例如:在x86环境上模拟ARM的运行环境,执行ARM程序。

(2)当用作虚拟器时,QEMU 通过直接在主机 CPU 上执行guest代码来实现接近本机的性能。在 Xen Hypervisor下执行或在 Linux 中使用 KVM 内核模块时,QEMU 支持虚拟化。使用 KVM 时,QEMU 可以虚拟化 x86、服务器和嵌入式 PowerPC、64 位 POWER、S390、32 位和 64 位 ARM 以及 MIPS 客户机。(在host OS上运行guest OS的指令,并为guest OS提供虚拟的CPU、RAM、IO和外围设备)

QEMU有两种主要运作模式:

* User mode模拟模式,亦是用户模式。(在任何受支持的架构上为另一个 Linux/BSD 目标运行程序)QEMU能启动那些为不同CPU编译的Linux程序。

* System mode模拟模式,亦是系统模式。(在任何受支持的架构上为任何机器运行操作系统)QEMU提供整个机器(CPU、内存和模拟设备)的模拟来运行guest操作系统。在这种模式下,CPU 可以完全模拟,或者它可以与 KVM、Xen、Hax 或 Hypervisor等VMM管理程序一起工作,以允许guest直接在主机 CPU 上运行。




曾经恒纪元学长告诉我,参考网上各种被翻译后的资料,不如直接去看官方文档,那里给出的说明最接近真实,并且如果有bug被提出,社区里也会第一时间给出解决办法。

QEMU官方文档:QEMU

QEMU是一种通用的开源计算机模拟器(emulator)和虚拟机(virtualizer)

(1)当用作机器模拟器时,QEMU 可以在一台机器(例如自己的 PC)上运行为另一台机器(例如 ARM 板)制作的操作系统和程序。通过使用动态翻译,它实现了非常好的性能。即: QEMU 可以在一种 CPU 架构上模拟另一种CPU架构,运行程序。例如:在x86环境上模拟ARM的运行环境,执行ARM程序。

(2)当用作虚拟器时,QEMU 通过直接在主机 CPU 上执行guest代码来实现接近本机的性能。在 Xen Hypervisor下执行或在 Linux 中使用 KVM 内核模块时,QEMU 支持虚拟化。使用 KVM 时,QEMU 可以虚拟化 x86、服务器和嵌入式 PowerPC、64 位 POWER、S390、32 位和 64 位 ARM 以及 MIPS 客户机。(在host OS上运行guest OS的指令,并为guest OS提供虚拟的CPU、RAM、IO和外围设备)

QEMU有两种主要运作模式:

* User mode模拟模式,亦是用户模式。(在任何受支持的架构上为另一个 Linux/BSD 目标运行程序)QEMU能启动那些为不同CPU编译的Linux程序。

* System mode模拟模式,亦是系统模式。(在任何受支持的架构上为任何机器运行操作系统)QEMU提供整个机器(CPU、内存和模拟设备)的模拟来运行guest操作系统。在这种模式下,CPU 可以完全模拟,或者它可以与 KVM、Xen、Hax 或 Hypervisor等VMM管理程序一起工作,以允许guest直接在主机 CPU 上运行。