开源模拟器-QEMU
2011-12-03 11:37:09 阿炯

QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度,它是开源 Linux 虚拟化堆栈的关键部分。它通过动态二进制转换来模拟机器的处理器,并为机器提供一套不同的硬件和设备模型,使其能够运行各种客户操作系统。它可以与基于内核的虚拟机(KVM)互操作,以接近原生速度运行虚拟机。QEMU 还可以对用户级进程进行模拟,使得为一种架构编译的应用程序能够在另一种架构上运行。



QEMU is a generic and open source machine emulator and virtualizer.

When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests.

QEMU 是一个纯软件实现的通用模拟器和虚拟机,它有三种模式,几乎可以模拟任何硬件设备:
Full-system emulation:可在任何支持的硬件架构上运行任何操作系统
User-mode emulation:运行另一个 Linux/BSD 程序
Virtualization:接近本机性能运行 KVM 和 Xen 虚拟机


QEMU的主体部份是在LGPL下发布的,而其系统模式模拟与kqemu加速器则是在GPL下发布。使用kqemu可使QEMU能模拟至接近实机速度,但其在虚拟的操作系统是Microsoft Windows 98或以下的情况下是无用的。

优点:
* 可以模拟 IA-32 (x86)个人电脑,AMD64个人电脑, MIPS R4000, 升阳的 SPARC sun3 与 PowerPC (PReP 及 Power Macintosh)架构
* 支持其他架构,不论在主机或虚拟系统上(请参看QEMU主页以获取完整的清单)
* 增加了模拟速度,某些程式甚至可以实时运行
* 可以在其他平台上运行Linux的程式
* 可以储存及还原运行状态(如运行中的程式)
* 可以虚拟网络卡
* 可模拟多CPU

可模拟的功能
x86架构
* 单个或多个CPU,使用-smp 参数
* 4块硬盘或2块硬盘1个光驱,使用-hda 和-cdrom 参数
* 软驱,使用-fda 参数
* 指定容量的内存,使用-m 参数
* 3种显示卡,使用-vga 参数
* 多种声效卡,含AC97,使用-soundhw 参数
* 多种并口设备,使用-parallel 参数
* 多种串口设备,使用-serial 参数
* 多种USB设备,使用-usb 和-usbdevice 参数
* PC 喇叭,使用-soundhw pcspk参数
* PS/2键盘鼠标(默认)和USB键盘鼠标
* 蓝牙设备,使用-bt 参数
* 多种网络控制器,使用-net nic,model= 参数
* 内建DHCP服务器,使用-net user参数
* 内建DNS服务器,使用-net user参数
* 内建SMB服务器,使用-net user,smb= 参数
* 内建TFTP服务器,使用-net user,tftp= 参数


QEMU更新记录(202x)



官方主页:http://wiki.qemu.org/Index.html
该文章最后由 阿炯 于 2022-09-01 14:22:11 更新,目前是第 2 版。