Pourquoi voudrait-on exécuter UserMode Linux (UML)

18

Le README Linux déclare que:

Linux a également été porté sur lui-même. Vous pouvez maintenant exécuter le noyau en tant qu'application d'espace utilisateur - cela s'appelle UserMode Linux (UML).

Pourquoi voudrait-on faire ça?

JohnAllen
la source
Peut-être que si vous l'essayez vous-même, cela deviendra clair, c'est facile! unix.stackexchange.com/questions/73203/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Réponses:

18

UML est très rapide pour le développement et beaucoup plus facile à déboguer. Si, par exemple, vous utilisez KVM, vous devez configurer un environnement qui démarre à partir du réseau ou copiez de nouveaux noyaux dans la machine virtuelle. Avec UML, vous exécutez simplement le nouveau noyau.

À un moment donné, je testais du code réseau sur le noyau. Cela signifie que vous obtenez des paniques du noyau très fréquentes ou d'autres problèmes. Le débogage avec UML est très facile.

De plus, UML s'exécute dans des endroits où il n'y a pas de virtualisation assistée par matériel, il a donc été encore plus utilisé avant que KVM ne devienne la communauté.

V13
la source
IIRC linode.com utilisait auparavant UML pour la virtualisation.
Paul Cager
2
@PaulCager Oui, ils l'ont fait, de 2003 jusqu'au passage à Xen en 2008.
Matt Nordhoff
11

Leur page Web a plusieurs raisons

Voici certaines des raisons pour lesquelles UML est utilisé:

  • Hébergement de serveurs virtuels
  • Développement du noyau
  • Expérimentation de nouveaux noyaux et distributions
  • Éducation
  • bac à sable
Patrick
la source
Ce serait cool de voir une comparaison avec d'autres méthodes de virtualisation. Voici un didacticiel pas à pas pour GDB it up: stackoverflow.com/questions/4943857/…
Ciro Santilli 事件 改造 中心 法轮功 六四 事件
4

UML était également la base de la version originale de FAUmachine , qui est une machine virtuelle qui vous permet d'injecter des défauts "matériels" dans un noyau en cours d'exécution.

Jörg W Mittag
la source
Cela semble intéressant, mais l'URL que vous avez fournie est un lien brisé.
isuldor
1

Certaines méthodes de conteneurisation comme Docker ne vous permettent pas d'utiliser, par exemple FUSE sans exécuter un conteneur privilégié, brisant certaines des limites de sécurité que les conteneurs peuvent offrir. Coller quelque chose comme UML entre votre application et la plate-forme de conteneurisation peut vous donner accès à davantage de fonctionnalités du noyau sans compromettre la sécurité de l'hôte.

Michael Mol
la source