O README do Linux declara que:
O Linux também foi portado para si mesmo. Agora você pode executar o kernel como um aplicativo de espaço de usuário - isso é chamado de UserMode Linux (UML).
Por que alguém iria querer fazer isso?
O README do Linux declara que:
O Linux também foi portado para si mesmo. Agora você pode executar o kernel como um aplicativo de espaço de usuário - isso é chamado de UserMode Linux (UML).
Por que alguém iria querer fazer isso?
Respostas:
A UML é muito rápida para o desenvolvimento e muito mais fácil para depurar. Se, por exemplo, você usar o KVM, precisará configurar um ambiente que inicialize da rede ou copie novos kernels na VM. Com a UML, você acabou de executar o novo kernel.
Em um ponto, eu estava testando algum código de rede no kernel. Isso significa que você tem pânico muito frequente no kernel ou outros problemas. Depurar isso com UML é muito fácil.
Além disso, a UML é executada em locais onde não há virtualização assistida por hardware; portanto, ela foi usada ainda mais antes do KVM se tornar comum.
Sua página da web tem vários motivos
Aqui estão algumas das coisas para as quais a UML é usada:
A UML também foi a base da versão original do FAUmachine , que é uma máquina virtual que permite injetar falhas de "hardware" em um kernel em execução.
Alguns métodos de contêiner como o Docker não permitem o uso, por exemplo, o FUSE sem executar um contêiner privilegiado, quebrando alguns dos limites de segurança que os contêineres podem oferecer. Colocar algo como UML entre seu aplicativo e a plataforma de contêiner pode dar acesso a mais recursos do kernel sem comprometer a segurança do host.