What is QEMU?
QEMU is a simulator that supports various target processors (such as x86, ARM, MIPS, etc.). It has two main modes:
- user mode simulation: run a Linux program on another Linux machine that doesn't necessarily have the same processor; for instance, if the host is an i386 Linux machine, one can run ARM Linux programs
- system simulation: run a full operating system; for instance, run an ARM Debian distribution on an x86_64 machine.
System simulation is more flexible, but is slower since it has to simulate a full platform, in particular it has to handle MMU simulation which adds a non-negligible cost to every simulated memory access.