User Mode Linux
Das sogenannte User Mode Linux (im Folgenden kurz 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 Linux-Systeme auszuführen, ohne deren Konfiguration und damit Stabilität zu beeinflussen.
Einsatzmöglichkeiten und Geschichte
Die Einsatzmöglichkeiten sind vielfältig. Netzwerkdienste können in einer UML-Umgebung komplett isoliert vom Hauptsystem ablaufen. Oft wird UML auch benutzt, um einen sogenannten „Honeypot“ zu installieren, mit dem die Sicherheit eines Computers oder Netzwerks getestet werden kann. Ein anderes Einsatzgebiet ist das Testen und die Fehlerbereinigung („Debuggen“) von Software, zum Beispiel eine Version des Linux-Kernels. Der Vorteil ist, dass das Hauptsystem nicht beeinflusst wird.
Ein weiterer denkbarer Bereich für den Einsatz von User-Mode-Linux ist die Treiberentwicklung für Linux, da die Fehlerbereinigung eines User-Mode-Prozesses leichter als bei einem vollwertigen Kernel ist. Außerdem ist eine Kernel-Panic (Halt des Systems auf Grund eines Kernel-Fehlers) bei einem virtuellen Kernel für das tatsächliche System folgenlos, denn es kann ein neuer virtueller Kernel gestartet werden. Schließlich ist auch das gleichzeitige Starten mehrerer virtueller Kernel interessant (z. B. für Anbieter von dedizierten Webservern, die dadurch dem Kunden auf ein und demselben System die Linux-Distribution seiner Wahl anbieten können).
Ursprünglich sollte UML Linux on Linux (englisch für Linux auf Linux) genannt werden. Die Idee wurde jedoch verworfen, um eine Verwechslung mit dem Akronym LOL auszuschließen.
Seit Kernelversion 2.6.0 ist UML in den offiziellen Linux-Quellen enthalten, so dass man diese Kernel als UML-Prozesse unterhalb eines Wirtslinux operieren lassen kann. Wenn auf dem Wirtslinux zusätzlich ein skas-Patch eingespielt wird, hilft der Wirtskernel dem UML-Kernel bei bestimmten Verwaltungsaufgaben, was Sicherheit und Leistung erhöht.
UML wird nach wie vor aktiv entwickelt, dies betrifft vor allem die skas-Erweiterungen.
Siehe auch
- VNUML – Verwendet UML, um Netzwerkszenarien zu simulieren.