Um kernel Linux pode ser compartilhado entre dois sistemas operacionais?

Um kernel Linux pode ser compartilhado entre dois sistemas operacionais?

Pergunta bastante simples. Estou trabalhando em um projeto para ter vários sistemas operacionais (todos Linux) na mesma máquina usando subvolumes btrfs para que o usuário possa inicializar no ambiente com o qual se sente confortável. Como todos eles usam o Kernel Linux, o Kernel único pode ser compilado e usado para todos os sistemas operacionais da máquina? Existe algo específico do sistema operacional e, em caso afirmativo, são apenas os módulos do kernel exigidos pelo sistema operacional ou é mais profundo do que isso?

Minha suposição atual é que o kernel é bastante independente do sistema operacional e que, desde que todos os módulos fossem incluídos para ambos os sistemas operacionais em um kernel compartilhado, ambos poderiam compartilhar o kernel e, portanto, compartilhar atualizações e alterações feitas no kernel.

Responder1

OpenVZfaz exatamente o que você pede.

Ele cria contêineres 100% independentes entre si, mas compartilha o mesmo kernel modificado.

A única desvantagem em relação à virtualização completa é que você não pode instalar nada além do Linux ao usar contêineres.

Responder2

OpenVZ é excelente e fornece uma solução segura, estável e fácil de usar para contêineres. No entanto, também existem Linux Containers que são integrados ao Linux e muito progresso foi feito nas versões recentes do kernel.

Os contêineres Linux têm muitos utilitários de espaço do usuário que você pode usar, incluindo lxc, vzctl (do OpenVZ), libvirt e docker.

Os contêineres Linux permitem executar processos (e usuários, se você usar namespaces de usuário) em namespaces separados. Isso dá a sensação de um sistema separado rodando no mesmo kernel e permite adicionar restrições aos recursos usando cgroups. Os contêineres Linux são extremamente leves em comparação com máquinas virtuais de hardware como Xen, Qemu/KVM ou VMWare.

informação relacionada