《编译与反编译技术实战》——1.8 仿真与分析工具QEMU

简介:

本节书摘来自华章计算机《编译与反编译技术实战》一书中的第1章,第1.8节,作者 刘晓楠 陶红伟 岳峰 戴超,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.8 仿真与分析工具QEMU

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。
  • 比其他模拟软件难安装及使用。
相关文章
|
自然语言处理
《编译与反编译技术实战 》一3.4 本章小结
词法分析是编译过程的第一个阶段,负责对源程序进行扫描,按照源程序的构词规则识别出一个个单词符号。编译过程中执行词法分析的程序称为词法分析器。本章介绍了构造词法分析器的两种方法:一种是基于状态转换图的词法分析器的手工实现,另一种是利用词法分析程序的自动生成工具LEX的词法分析器的自动实现。
1731 0
|
Linux 虚拟化
《编译与反编译技术实战 》一1.8 仿真与分析工具QEMU
QEMU是一套由Fabrice Bellard所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs、PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实计算机的速度。
1559 0