Empresa Siemens lançamento do hypervisor livre . O hipervisor funciona em sistemas x86_64 com extensões VMX+EPT ou SVM+NPT (AMD-V), assim como em processadores ARMv7 e ARMv8/ARM64 com extensões para virtualização. Separadamente gerador de imagens para o hipervisor Jailhouse, formadas com base em pacotes Debian para dispositivos suportados. O código do projeto sob a licença GPLv2.
O hipervisor é implementado na forma de um módulo para o núcleo Linux e fornece virtualização em nível de núcleo. Os componentes para sistemas convidados já estão incluídos no núcleo principal do Linux. Para gerenciar a isolação, são utilizados os mecanismos de virtualização de hardware fornecidos por CPUs modernas. As características distintivas do Jailhouse são a implementação leve e a orientação para vincular máquinas virtuais a uma CPU fixa, áreas de RAM e dispositivos de hardware. Essa abordagem permite que um servidor físico multiplataforma execute vários ambientes virtuais independentes, cada um deles vinculado ao seu núcleo de processador.
Com o vínculo rígido à CPU, os custos com o funcionamento do hipervisor são reduzidos ao mínimo e sua implementação se torna muito mais simples, pois não há necessidade de um planejador complexo de alocação de recursos — a alocação de um núcleo de CPU separado garante a ausência da execução de outras tarefas nessa CPU. Uma vantagem dessa abordagem é a capacidade de garantir acesso garantido aos recursos e desempenho previsível, tornando o Jailhouse uma solução adequada para criar tarefas executadas em tempo real. A desvantagem é a escalabilidade limitada, que depende do número de núcleos de CPU.
Na terminologia do Jailhouse, os ambientes virtuais são chamados de "câmaras" (cell, no contexto do jailhouse). Dentro da câmara, o sistema se apresenta como um servidor de um único processador, demonstrando desempenho ao desempenho de um núcleo de CPU dedicado. Dentro da câmara, pode ser executado um ambiente de qualquer sistema operacional, bem como ambientes reduzidos para executar um único aplicativo ou aplicativos especificamente preparados para resolver tarefas em tempo real. A configuração é definida em , que determinam os CPUs, regiões de memória e portas de entrada/saída alocadas para o ambiente.

Na nova versão
- Adicionada a compatibilidade com as plataformas Raspberry Pi 4 Model B e Texas Instruments J721E-EVM;
- o dispositivo ivshmem, utilizado para facilitar a interação entre as células. Sobre o novo ivshmem pode-se implementar o transporte para VIRTIO;
- Implementada a possibilidade de desativar a criação de grandes páginas de memória (hugepage) para bloquear vulnerabilidades em processadores Intel, que permite que um atacante não privilegiado inicie uma negação de serviço, resultando na paralisação do sistema no estado de "Machine Check Error";
- Para sistemas com processadores ARM64, foi implementado suporte para SMMUv3 (Unidade de Gerenciamento de Memória de Sistema) e TI PVU (Unidade de Virtualização Periférica). Para ambientes isolados executados em hardware (bare-metal), foi adicionado suporte para PCI;
- Em sistemas x86, a possibilidade de habilitar o modo CR4.UMIP (Prevenção de Instruções em Modo Usuário) fornecido pelos processadores Intel foi implementada, permitindo proibir a execução em espaço de usuário de determinadas instruções, como SGDT, SLDT, SIDT, SMSW e STR, que podem ser utilizadas em ataques visando a elevação de privilégios no sistema.
Fonte: opennet.ru
