World Library  
Flag as Inappropriate
Email this Article

User-mode Linux

Article Id: WHEBN0000373697
Reproduction Date:

Title: User-mode Linux  
Author: World Heritage Encyclopedia
Language: English
Subject: Linux kernel, UML, Linode, Proxy ARP, Harald Welte
Collection: Free Virtualization Software, Linux Kernel Variant, Virtualization-Related Software for Linux
Publisher: World Heritage Encyclopedia

User-mode Linux

User-mode Linux
Written in C
Type Virtualization
License GNU General Public License
Website .net.sourceforgeuser-mode-linux

User-mode Linux (UML)[1] enables multiple virtual Linux kernel-based operating 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 some isolation, generally without affecting the host environment's configuration or stability.


  • Applications 1
  • Integration into the Linux kernel 2
  • Comparison with other technologies 3
  • Supported platforms 4
  • See also 5
  • References 6
  • External links 7


User-mode Linux is supported by libvirt

Numerous things become possible through the use of UML.[2] One can run network services from a UML environment and remain totally sequestered from the main Linux system in which the UML environment runs.[3][4][5][6][7] 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.

Some web hosting providers offer UML-powered virtual servers for lower prices than true dedicated servers. Each customer has root access on what appears to be their own system, while in reality one physical computer is shared between many people.

libguestfs has supported a UML backend since version 1.24[8] as an alternative to using QEMU or KVM.

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 have lower performance than some competing technologies, such as Xen and OpenVZ. Future work in adding support for x86 virtualization 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 virtualizing the whole machine, and thus all systems running on a Xen machine are really virtual machines. In UML, the host machine is not virtualized in any way, and only guest systems are true virtual machines. This allows UML guest direct access to host filesystems and hardware, where it is common to map a host directory (e.g. /uml/root -> /).

Supported platforms

UML was originally designed for the x86 instruction set, but has also been ported to others including IA-64 and PowerPC.

See also


  1. ^ "User-mode Linux Kernel Home Page". 
  2. ^ Rob's quick and dirty UML howto
  3. ^ Virtual Network User Mode Linux (VNUML): Virtual network scenarios based on UML
  4. ^ NetKit: Emulating a Virtual Network using UML
  5. ^ Marionnet: Another network emulator based on UML
  6. ^ Cloonix-Net: Virtual Network emulation using UML
  7. ^ GINI: Virtual network based teaching toolkit using UML
  8. ^ [2]

External links

  • More recent kernels and file systems
  • Running Debian inside of Debian with User-Mode Linux
  • Linuxzoo: Online free access UMLs
  • Armin M. Warda: Virtual Labs with User Mode Linux, 2004
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.