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?
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?
Réponses:
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é.
Leur page Web a plusieurs raisons
Voici certaines des raisons pour lesquelles UML est utilisé:
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.
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.