本节书摘来自华章出版社《编译与反编译技术实战 》一书中的第1章,第1.8节,庞建民 主编 ,刘晓楠 陶红伟 岳 峰 戴超 编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
qemu是一套由fabrice bellard所编写的以gpl许可证分发源码的模拟处理器,在gnu/linux平台上使用广泛。bochs、pearpc等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过kqemu这个闭源的加速器,qemu能模拟至接近真实计算机的速度。
目前,0.9.1及之前版本的qemu可- 以使用kqemu加速器。在qemu 1.0之后的版本都无法使用kqemu,但可利用qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。
qemu有以下两种主要运作模式:
1)进程级模拟模式。在这种模式- 下- ,qemu能以二进制翻译的方式启动那些为不同处理器编译的linux可执行程序。典型的程序是wine及dosemu。
2)系统级模拟模式。qemu能模拟整个计算机系统,包括中央处理器及其他周边设备。它使得为跨平台编写的程序进行测试及除错工作变得容易。也能用来在一台主机上虚拟数台不同虚拟计算机。
该软件的优:
默认支持多种架构。可以模拟ia 32、amd 64、mips、sparc、powerpc、龙芯等多种架构。
可扩展,可自定义新的指令集。
开源,可移植,仿真速度快。
在支持硬件虚拟化的x86架构上可以使用kvm加速配合内核ksm大页面备- 份内存,速度稳定,远超过vmware esx。
可以在其他操作系统平台上运行linux程序。
可以存储及还原运行状态。
可以支持虚拟网卡等多种外设。
该软件的缺点有:
对微软视窗及某些主机操作系统的支持不完善(某些模拟的系统仅能运行)。
对不常用的架构的支持不完善。
除非使用kqemu加速器,否则其模拟速度仍不及其他虚拟软件,如vmware。
比其他模拟软件难安装及使用。