Användarläge Linux - User-mode Linux

Användarläge Linux
Skrivet i C
Typ Virtualisering
Licens GNU General Public License
Hemsida användarläge-linux .sourceforge .net

Användarläge Linux ( UML ) gör det möjligt för flera virtuella Linux- kärnbaserade operativsystem (känd som gäster) att köras som ett program inom ett normalt Linux-system (känd som värden). Eftersom varje gäst bara är en normal applikation som körs som en process i användarutrymmet , ger detta tillvägagångssätt användaren ett sätt att köra flera virtuella Linux-maskiner på en enda maskinvara, vilket ger viss isolering, i allmänhet utan att påverka värdmiljöens konfiguration eller stabilitet. .

Applikationer

Många saker blir möjliga genom användning av UML. Man kan köra nätverkstjänster från en UML-miljö och förbli helt sekvestrerad från det huvudsakliga Linux-systemet där UML-miljön körs. Administratörer kan använda UML för att ställa in honungskrukor , som gör att man kan testa säkerheten för sina datorer eller nätverk. UML kan testa och felsöka ny programvara utan att påverka värdsystemet negativt. UML kan också användas för undervisning och forskning, vilket ger en realistisk Linux-nätverksmiljö med hög grad av säkerhet.

I UML-miljöer behöver inte värd- och gästkärnversioner matcha, så det är helt möjligt att testa en " blödande " version av Linux i användarläge på ett system som kör en mycket äldre kärna. UML tillåter också att kärnfelsökning utförs på en maskin, där andra kärnfelsökningsverktyg (som kgdb ) kräver två maskiner anslutna med en null-modemkabel .

Vissa webbhotell erbjuder UML-drivna virtuella servrar till lägre priser än äkta dedikerade servrar . Varje kund har root- åtkomst till vad som verkar vara deras eget system, medan i själva verket en fysisk dator delas mellan många människor.

libguestfs har stött en UML-backend sedan version 1.24 som ett alternativ till att använda QEMU eller KVM.

Integration i Linux-kärnan

UML-gästapplikationen (en Linux- binär ELF ) var ursprungligen tillgänglig som en patch för vissa Kernel-versioner över 2.2.x, och värden med någon kärnaversion över 2.2.x stödde det enkelt i trådläget (dvs. icke-SKAS3) .

Från och med Linux 2.6.0 är den integrerad i huvudkärnaträdsträdet . En metod för att köra ett separat kärnadressutrymme (SKAS) som inte kräver värdkärnkorrigering har implementerats. Detta förbättrar prestanda och säkerhet jämfört med den gamla Traced Thread-metoden, där processer som körs i UML delar samma adressutrymme ur värdens synvinkel, vilket leder till att minnet inuti UML inte skyddas av minneshanteringsenheten . Till skillnad från den nuvarande UML som använder SKAS, kan buggy eller skadlig programvara i en UML som körs på en icke-SKAS-värd kunna läsa minnesutrymmet i andra UML-processer eller till och med UML-kärnminnet.

Jämförelse med andra tekniker

Användarläge Linux anses i allmänhet ha lägre prestanda än vissa konkurrerande tekniker, som Xen och OpenVZ . Framtida arbete med att lägga till stöd för x86-virtualisering till UML kan minska denna nackdel.

Ofta som stöd för Xen (en konkurrerande teknik) är stöd för tråd-lokal lagring (TLS). Detta stöds nu också i de senaste UML-kärnorna. Xen koncentrerar sig på att virtualisera hela maskinen, och alltså alla system som körs på en Xen-maskin är verkligen virtuella maskiner. I UML virtualiseras inte värdmaskinen på något sätt, och endast gästsystem är virtuella maskiner. Detta ger UML-gäst direkt tillgång till värdfilsystem och hårdvara, där det är vanligt att mappa en värdkatalog (t.ex. / uml / root/ ).

Stödda plattformar

UML designades ursprungligen för instruktionsuppsättningen x86 , men har också överförts till andra inklusive IA-64 och PowerPC .

Se även

Referenser

externa länkar