User-mode Linux

User-mode Linux (UML) allows multiple virtual Linux systems (known as guests) to run as an application within a normal Linux system (known as the host). As each guest is just a normal application running as a process in user space, this approach provides the user with a way of running multiple virtual Linux machines on a single piece of hardware, offering excellent security and safety without affecting the host environment's configuration or stability.

Applications of UML

Numerous things become possible through the use of UML. One can run network services from a UML environment and remain totally sequestered from the main Linux system in which the UML environment runs. Administrators can use UML to set up honeypots, which allow one to test the security of one's computers or network. UML can serve to test and debug new software without adversely affecting the host system. UML can also be used for teaching and research, providing a realistic Linux networked environment with a high degree of safety.

In UML environments, host and guest kernel versions need not match, so it is entirely possible to test a "bleeding edge" version of Linux in User-mode on a system running a much older kernel. UML also allows kernel debugging to be performed on one machine, where other kernel debugging tools (such as kgdb) require two machines connected with a null modem cable.

Recently, several web hosting providers have begun offering UML-powered virtual servers for $10 to $20 per month. Each customer has root access on what appears to be their own system, while in reality one physical computer is shared between many people.

Integration into the Linux kernel

The UML guest application (a Linux binary ELF) was originally available as a patch for some Kernel versions above 2.2.x, and the host with any kernel version above 2.2.x supported it easily in the thread mode (i.e.non-skas3).

As of Linux 2.6.0 it is integrated into the main kernel source tree. A method of running a separate kernel address space (skas) that does not require host kernel patching has been implemented; This improves performance and security over the old Traced Thread approach, in which processes running in the UML share the same address space from the host's point of view, which leads the memory inside the UML to not be protected by the Memory management unit. Unlike the current UML using skas, buggy or malicious software inside a UML running on a non-skas host could be able to read the memory space of other UML processes or even the UML kernel memory.

Comparison with other technologies

User-mode Linux is generally considered to provide lower performance than some competing technologies, such as Xen and OpenVZ. Future work in adding support for Virtualization Technology to UML may reduce this disadvantage.

Often cited as a strength of Xen (a competing technology) is support for Thread Local Storage (TLS). This is now also supported in the latest UML kernels. Xen concentrates on virtualising the whole machine, and thus all systems running on a Xen machine are really virtual machines. In UML, the host machine is not virtualised in any way, and only guest systems are true virtual machines.

upported platforms

UML was originally designed for x86 processors, but has also been ported to other architectures including IA-64 and PowerPC; the only currently working port is to x86-64 architecture.

ee also

*CoLinux
*MkLinux

External links

* [http://user-mode-linux.sourceforge.net/ User-mode Linux Kernel Home Page]
* [http://uml.jfdi.org/ User-mode Linux wiki]
* [http://www.user-mode-linux.org/ User-mode Linux Community Site] "(formerly www.usermodelinux.org/)"
* [http://eggdrop.ch/texts/uml/ Running Debian inside of Debian with User-Mode Linux]
* [http://www.coherenthosting.com/prj/uml/henrique/pool_h01/ UML Kernel and Root File System Images] , main mirror of [http://moreira.dnsalias.net/my_uml/pool_h01/]
* [http://uml.nagafix.co.uk/ More recent Kernels and filesystems]
* [http://www.user-mode-linux.org/~blaisorblade/ UML SKAS Patches]
* [http://linuxzoo.net/ Linuxzoo] - Online free access UMLs
*Armin M. Warda: [http://www.user-mode-linux.org/~jdike/armin/Virtual-UML-Lab-Presentation.pdf Virtual Labs with User Mode Linux] 2004
* [http://www.landley.net/code/UML.html Rob's quick and dirty UML howto]
* [http://www.dit.upm.es/vnuml Virtual Network User Mode Linux (VNUML)] - Virtual network scenarios based on UML
* [http://www.netkit.org NetKit] - Emulating a Virtual Network using UML


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • User Mode Linux — (im Folgenden UML genannt, nicht zu verwechseln mit der Unified Modeling Language, welche ebenfalls als UML abgekürzt wird) ist eine Variante des Linux Kernels, die es erlaubt, komplette Linux Kernel als Anwendungsprozesse innerhalb operierender… …   Deutsch Wikipedia

  • User-mode Linux — (UML, Линукс пользовательского режима)  вариант ядра Linux, который позволяет запустить несколько виртуализованных Линукс систем (т. н. гостевых от англ. guests) в качестве обычных приложений в основной Linux‐системе (т. н.… …   Википедия

  • User Mode Linux — (UML) es una modificación del núcleo Linux para que funcione sobre su propia interfaz de llamadas al sistema. De este modo, un núcleo compilado para la arquitectura um puede operar como un proceso de usuario más de otro núcleo Linux que hace las… …   Wikipedia Español

  • User Mode Linux — Pour les articles homonymes, voir UML. User Mode Linux ou UML est un noyau Linux compilé qui peut être exécuté dans l espace utilisateur comme un simple programme. Il permet donc d avoir plusieurs systèmes d exploitation virtuels sur une seule… …   Wikipédia en Français

  • User-Mode — Schema der Ringe beim x86 System mit Gates zur Kommunikation Der Ring, auch Domain genannt, bezeichnet im Umfeld der Betriebssystem Programmierung und des Multitaskings eine Privilegierungs bzw. Sicherheitsstufe eines Prozesses. Diese schränkt… …   Deutsch Wikipedia

  • Linux (Kernel) — Bildschirmfoto …   Deutsch Wikipedia

  • Linux-Kernel — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

  • Linux Kernel — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

  • Linux kernel — Linux Linux kernel 3.0.0 booting Company / developer Linus Torvalds and thousands …   Wikipedia

  • Linux-VServer — Dernière version 2.2 [+/−] …   Wikipédia en Français


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.