QEMU (short for Quick EMUlator) is a free and open-source emulator that performs hardware virtualization.
QEMU is a hosted virtual machine monitor: it emulates the machine’s processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It also can be used with KVM to run virtual machines at near-native speed (by taking advantage of hardware extensions such as Intel VT-x). QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.
Full-system emulation – Run operating systems for any machine, on any supported architecture
User-mode emulation – Run programs for another Linux/BSD target, on any supported architecture