QEMU is free software written by Fabrice Bellard that implements a fast processor emulator, allowing a user to run one operating system within another one. It is similar to projects such as Bochs and VMware Workstation, but has several features these lack, including increased speed and support for multiple architectures. By using dynamic translation it achieves a reasonable speed while being easy to port on new host CPUs.
QEMU has two operating modes:
User mode emulation: QEMU can launch Linux processes compiled for one CPU on another CPU. Linux system calls are converted because of endianness and 32/64 bit mismatches. Wine and Dosemu are the main targets for QEMU.
System mode emulation: QEMU emulates a full system, including a processor and various peripherials. It enables easier testing and debugging of system code. It can also be used to provide virtual hosting of several virtual PCs on a single server.
The majority of the program is under the ?LGPL, with the system mode emulation under the ?GPL.