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
- Suporte adicionado para as plataformas Marvell MACCHIATObin, Xilinx Ultra96,
Microsys miriac SBC-LS1046A e Texas Instruments AM654 IDK; - Estatísticas adicionadas para cada núcleo da CPU;
- Reinicialização de dispositivos PCI ao desligar a câmera implementada;
- Estrutura do Device Tree adaptada para as últimas versões do núcleo Linux;
- Proteção contra ataques Spectre v2 adicionada para plataformas ARM e ARM64. As configurações do qemu-arm64 consideram as mudanças das últimas versões do QEMU. Problemas com a sobrescrição do firmware PSCI em placas Orange Pi Zero foram resolvidos;
- Para a plataforma x86, ao iniciar ambientes de demonstração (inmates), o uso das instruções SSE e AVX foi ativado, além de um relatório de exceções adicionado.
Entre os planos futuros, destaca-se o tão esperado suporte ao IOMMUv3, a melhoria na eficiência de uso do cache do processador (), resolução de problemas com APIC em processadores AMD Ryzen, reformulação do dispositivo ivshmem e promoção de drivers para o núcleo principal.
Fonte: opennet.ru
