Versão do hipervisor Bareflank 3.0

O hipervisor Bareflank 3.0 foi lançado, fornecendo um kit de ferramentas para o rápido desenvolvimento de hipervisores especializados. Bareflank é escrito em C++ e suporta C++ STL. A arquitetura modular do Bareflank facilita a expansão dos recursos existentes do hipervisor e a criação de suas próprias opções de hipervisor, tanto em execução no hardware (como o Xen) quanto em um ambiente de software existente (como o VirtualBox). É possível executar o sistema operacional do ambiente host em uma máquina virtual separada. O código do projeto é distribuído sob a licença LGPL 2.1.

O Bareflank oferece suporte para Linux, Windows e UEFI em CPUs Intel e AMD de 64 bits. A tecnologia Intel VT-x é usada para particionamento de hardware de recursos de máquinas virtuais. O suporte para sistemas macOS e BSD está planejado para o futuro, bem como a capacidade de trabalhar na plataforma ARM64. Além disso, o projeto desenvolve seu próprio driver para carregar VMM (Virtual Machine Manager), um carregador ELF para carregar módulos VVM e um aplicativo bfm para controlar o hypervisor a partir do espaço do usuário. Um kit de ferramentas é fornecido para escrever extensões usando elementos definidos nas especificações C++ 11/14, uma biblioteca de desenrolamento de pilha de exceção (desenrolar), bem como sua própria biblioteca de tempo de execução para suportar o uso de construtores/destruidores e registro de manipuladores de exceção.

Com base no Bareflank, está em andamento o desenvolvimento do sistema de virtualização Boxy, que suporta o lançamento de sistemas convidados e permite o uso de máquinas virtuais leves com Linux e Unikernel para executar serviços ou aplicativos especializados. Na forma de serviços isolados, você pode executar serviços da Web comuns e aplicativos com requisitos especiais de confiabilidade e segurança, livres da influência do ambiente do host (o ambiente do host é isolado em uma máquina virtual separada). O Bareflank também está no centro do hipervisor MicroV, projetado para executar máquinas virtuais minimalistas (máquina virtual de aplicativo único) que implementa a API KVM e é adequado para a construção de sistemas de missão crítica.

As principais inovações do Bareflank 3.0:

  • Transição para o uso do conceito de microkernel. Anteriormente, o hipervisor possuía uma arquitetura monolítica, na qual, para estender a funcionalidade, era necessário o uso de uma API especial para registro de chamadas de retorno de chamada, o que dificultava o desenvolvimento de extensões por estar vinculado à linguagem C ++ e internas . A nova arquitetura baseada em microkernel divide o hipervisor em componentes do kernel executados no anel zero de proteção e extensões executadas no terceiro anel (espaço do usuário). Ambas as partes são executadas no modo raiz VMX e tudo o mais, incluindo o ambiente do host, no modo VMX não raiz. As extensões de espaço do usuário implementam a funcionalidade Virtual Machine Manager (VMM) e interagem com o kernel do hipervisor por meio de chamadas de sistema compatíveis com versões anteriores. As extensões podem ser criadas em qualquer linguagem de programação, inclusive com o uso da linguagem Rust.
  • Passamos a usar nossa própria biblioteca BSL com suporte para Rust e C++, que substituiu as bibliotecas externas libc++ e newlib. A remoção de dependências externas permitiu que o Bareflank implementasse o suporte nativo à compilação do Windows para simplificar o desenvolvimento nesta plataforma.
  • Adicionado suporte para processadores AMD. Além disso, o desenvolvimento do Bareflank agora é realizado em um sistema com uma CPU AMD e só então portado para uma CPU Intel.
  • O suporte para a arquitetura ARMv8 foi adicionado ao bootloader, para o qual a adaptação do hipervisor será concluída em um dos próximos lançamentos.
  • Cumprimento dos requisitos para o desenvolvimento de sistemas críticos, formulados pelas organizações AUTOSAR e MISRA.

Fonte: opennet.ru

Adicionar um comentário