User Mode Linux
There are several ways of describing user mode Linux (UML) but perhaps the simplest is to say that UML a port of Linux to Linux. UML is Linux running on Linux, as opposed to Linux on x86 or Linux on PowerPC.Instead of talking to hardware directly a UML kernel talks to a “host” kernel, which is essentially a “normal” Linux kernel.
A UML virtual machine (guest) is started by the host system and appears as a regular (single) process to the host system. Within the guest it is virtually indistinguishable from a real physical instance of Linux.
Advantages of UML:
- it is included in standard kernel.org kernel
- it is very mature and well tested (available since kernel 2.2)
- easier kernel debugging since you can attach to UML kernels like any normal process
- non-root users can configure and run their own virtual machines
- virtual block and virtual network devices can be added to, and removed from, a UML guest without stopping the guest
Disadvantages:
- very high overhead
- lack of high-level management tools
SuSE Linux had integrated utilities for creating UML guests in SuSE 9 but they have dropped that in their SuSE 10.x products in favour of Xen based virtual machines. Most Linux distributions at least include the UML utilities so you are usually just a few commands away from using UML.
For more information see the User Mode Linux Kernel Homepage.
