Source: /cirosantilli/user-mode-emulation

= User mode emulation

<User mode emulation> refers to the ability of certain <emulators> to emulate userland code running on top of a specific <operating system>, usually <Linux>.

For example, <QEMU> allows you to run a variety of userland <ELF> programs directly on it, without an underlying <Linux kernel> running.

User mode emulation is achieved by implementing <System calls> and special filesystems such as `/dev` manually on the emulator one by one.

The general tradeoff is that simulation is less acurate as it may lack certain highly advanced kernel functionality you haven't implemented yet. But it is much easier to run executables with it, and you don't have to wait for boot to finish before running, you just run executables directly from the command line.