QEMU is free software which implements a fast processoremulator. 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. In this mode, 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 (Windows API emulator) and DOSEMU (DOS emulation) are the main targets for QEMU.
Full system emulation. In this mode, 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 PC on a single server.