Il README di Linux afferma che:
Anche Linux è stato portato su se stesso. È ora possibile eseguire il kernel come applicazione userspace - questo si chiama UserMode Linux (UML).
Perché qualcuno dovrebbe voler fare questo?
Il README di Linux afferma che:
Anche Linux è stato portato su se stesso. È ora possibile eseguire il kernel come applicazione userspace - questo si chiama UserMode Linux (UML).
Perché qualcuno dovrebbe voler fare questo?
Risposte:
UML è molto veloce per lo sviluppo e molto più facile da eseguire il debug. Se, ad esempio, usi KVM, devi configurare un ambiente che si avvia dalla rete o che sta copiando nuovi kernel nella VM. Con UML hai appena eseguito il nuovo kernel.
Ad un certo punto stavo testando del codice di rete sul kernel. Ciò significa che si ottengono panici del kernel molto frequenti o altri problemi. Il debug con UML è molto semplice.
Inoltre, UML viene eseguito in luoghi in cui non esiste virtualizzazione assistita dall'hardware, quindi è stato utilizzato ancora di più prima che KVM diventasse comune.
La loro pagina web ha diverse ragioni
Ecco alcune delle cose per cui UML è usato:
UML era anche la base della versione originale di FAUmachine , che è una macchina virtuale che consente di iniettare errori "hardware" in un kernel in esecuzione.
Alcuni metodi di containerizzazione come Docker non ti consentono di utilizzare, ad esempio FUSE senza eseguire un contenitore privilegiato, abbattendo alcuni dei limiti di sicurezza che i contenitori possono offrire. Attaccare qualcosa come UML tra la tua app e la piattaforma di containerizzazione può darti accesso a più funzionalità del kernel senza compromettere la sicurezza dell'host.