QEMU is a fast, cross-platform Open Source machine emulator which can emulate a huge number of hardware architectures for you. QEMU supports two basic operation modes: with a full system virtualization you can run a complete unmodified operating system (VM Guest) on top of your existing system (VM Host Server), while user mode emulation lets you run a single Linux process compiled for a certain CPU on another CPU.
You can also use QEMU for debugging purposes - you can easily stop your running virtual machine, inspect its state and save and restore it later.
QEMU consists of the following parts:
processor emulator (x86, PowerPC, Sparc ...)
emulated devices (graphic card, network card, hard drives, mice ...)
generic devices used to connect the emulated devices to the related host devices
descriptions of the emulated machines (PC, Power Mac ...)
debugger
user interface used to interact with the emulator
As a virtualization solution, QEMU can be run together with the KVM kernel module. If the VM Guest hardware architecture is the same as the architecture of VM Host Server, QEMU can take advantage of the KVM acceleration.