QEMU – Complete, independent and fast processor simulator

This article is the original content of AppNee. All rights reserved. To repost or reproduce, please make a footnote with our article link!

QEMU (short for Quick Emulator) is a free and open-source processor emulator widely used on GNU/Linux platform, written by Fabrice Bellard from France. It primarily converts the binary code written for a specific processor to another through a special ‘recompiler’, so as to realize the OS virtualization.

Certainly, some architecture emulators such as Bochs, PearPC are similar, but do not have many features QEMU does. For example, QEMU’s high speed and cross-platform characteristics (i.e.: portability); through KQEMU accelerator, QEMU can simulate close to the running speed of a real computer (but this does not work for Microsoft Windows 98 and lower OS). In addition to the simulation of processor, QEMU also supports the simulation of all necessary subsystems, as well as realizing the simulation of advanced concepts.

Two major operation modes of QEMU:

  • User mode: QEMU can run Linux programs compiled for different CPUs. Wine and DOSEMU are its main targets.
  • System mode: QEMU can simulate the whole computer system, including CPU and other peripheral devices. This makes the testing and debugging work for cross-platform programs easier. Again, it also can be used to virtualize several different computers on a single host.

// Key Features //

  • Support for multiple architectures by default
  • Extendable and customizable new instruction set
  • Open-source, potable, and very fast emulation
  • Can use KVM acceleration on x86 architecture with hardware virtualisation support
  • Optimized emulation speed, some programs can even run in real time
  • Can run Linux programs on other platforms
  • Allow to save and restore running status (such as running programs)
  • Allow to virtualize network adapter

// Edition Statement //

At present, v0.9.1 and lower version of QEMU can use the KQEMU accelerator. And, versions after v1.0 can not use KQEMU any more, mainly use the QEMU-KVM acceleration module instead. The acceleration effect and stability of latter are much better than KQEMU.

// Download URLs //