Jailhouse, um hipervisor de particionamento estático que aposta no desempenho

Prisao

Jailhouse é um hipervisor de particionamento baseado em Linux (Ele foi desenvolvido como um projeto de software livre GPLv2). É capaz de executar aplicativos ou sistemas operacionais completos (adaptado) além do Linux. Para este efeito, configure CPU e características de virtualização de dispositivo da plataforma hardware de modo que nenhum desses domínios, chamados de "células", possam interferir uns com os outros de maneira inaceitável.

Isso significa que Jailhouse não emula recursos que você não tem. Simplesmente divide o hardware em compartimentos isolados chamados "células" Eles são totalmente dedicados a softwares convidados chamados "presos".

Sobre a Jailhouse

Jailhouse é otimizado para simplicidade em vez da riqueza de recursos. Ao contrário dos hipervisores baseados em Linux completos, como KVM ou Xen, Jailhouse não suporta superalocação de recursos como CPU, RAM ou dispositivos. Não faz nenhuma programação e apenas virtualiza esses recursos em software, que são essenciais para uma plataforma e não podem ser particionados em hardware.

Uma vez que o Jailhouse é ativado, ele funciona totalmente, o que significa que assume o controle total sobre o hardware e não requer suporte externo.

O hipervisor é implementado como um módulo para o kernel Linux e fornece virtualização em nível de kernel. Os componentes convidados já estão incluídos no kernel Linux principal.

Mecanismos de virtualização de hardware são usados ​​para controlar o isolamento fornecidos por CPUs modernas. As marcas do Jailhouse são sua implementação leve e sua orientação para vincular máquinas virtuais a uma CPU fixa, área de RAM e dispositivos de hardware. Essa abordagem permite a operação de vários ambientes virtuais independentes em um servidor multiprocessador físico, cada um com seu próprio núcleo de processador.

Com um vínculo estreito com a CPU, a sobrecarga da operação do hipervisor é minimizada e sua implementação é bastante simplificada, uma vez que não há necessidade de realizar um agendador de alocação de recursos complexo - alocar um núcleo de CPU separado garante que não seja execute outras tarefas nesta CPU.

A vantagem dessa abordagem é a capacidade de fornecer acesso garantido aos recursos e desempenho previsível, tornando o Jailhouse uma solução adequada para a criação de tarefas em tempo real. A desvantagem é a escalabilidade limitada, que se baseia no número de núcleos da CPU.

Sobre a nova versão do Jailhouse 0.12

Atualmente, Jailhouse está em sua versão 0.12 e destaca o Suporte para Raspberry Pi 4 Modelo B e Texas Instruments J721E-EVM.

Além do dispositivo ivshmem usado para organizar a interação entre as células, foi redesenhado e que também pode implementar transporte para VIRTIO.

A capacidade de desabilitar a criação de página de memória grande (página enorme) foi implementada para bloquear a vulnerabilidade CVE-2018-12207 em processadores Intel, permitindo que um invasor sem privilégios inicie uma negação de serviço, levando ao congelamento sistema no estado "Erro de verificação da máquina".

Para sistemas com processadores ARM64, SMMUv3 são suportados (Unidade de gerenciamento de memória do sistema) e TI PVU (Unidade de virtualização periférica). Para ambientes de sandbox que são executados na parte superior do computador, foi adicionado suporte a PCI.

Em sistemas x86, é possível ativar o modo CR4. (Prevenção de instrução do modo de usuário) fornecida pelos processadores Intel, que permite proibir a execução de certas instruções no espaço do usuário, como SGDT, SLDT, SIDT, SMSW e STR, que podem ser utilizadas em ataques que visam aumentar o privilégios no sistema.

Get Jailhouse

Jailhouse suporta operação em sistemas x86_64 com extensões VMX + EPT ou SVM + NPT (AMD-V), bem como em processadores ARMv7 e ARMv8 / ARM64 com extensões de virtualização.

Apesar além disso, um gerador de imagens está sendo desenvolvido baseado em pacotes Debian para dispositivos compatíveis.

Você pode encontrar as instruções de compilação e instalação, bem como outras informações no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.