Bareflank, um kit de ferramentas para desenvolvimento rápido de hipervisores especializados

flanco nu Ele é escrito em C ++ e é compatível com C ++ STL. Arquitetura modular de Bareflank permite que você expanda facilmente os recursos de hipervisor existentes e crie suas próprias versões de hipervisor, ambos rodando em hardware (como Xen) e em um ambiente de software existente (como VirtualBox). Você pode 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.

Sobre Bare Flank

Bareflank oferece suporte a Linux, Windows e UEFI em CPUs Intel e AMD de 64 bits. A tecnologia Intel VT-x é usada para compartilhamento de hardware de recursos de máquina virtual. No futuro, está prevista a compatibilidade com os sistemas macOS e BSD, bem como a capacidade de trabalhar na plataforma ARM64.

Além disso, o projeto desenvolve seu próprio controlador para carregar VMM (Gerente de Máquinas Virtuais), um carregador ELF para carregar módulos VVM e um aplicativo bfm para gerenciar o hipervisor a partir do espaço do usuário.

Com base no Bareflank, o Boxy está sendo desenvolvido sistema de virtualização, que apóia o lançamento de sistemas convidados y permite o uso de máquinas virtuais leves com Linux e Unikernel para lançar serviços ou aplicativos especializados.

Na forma de serviços isolados, pode executar serviços e aplicativos da web comuns que possuem requisitos especiais de confiabilidade e segurança, sem a influência do ambiente de host (o ambiente de host é isolado em uma máquina virtual separada). O Bareflank também está no coração do hipervisor MicroV, projetado para executar máquinas virtuais minimalistas (máquina virtual de aplicativo único), implementando a API KVM e adequado para construir sistemas de missão crítica.

Um kit de ferramentas para escrever extensões é fornecido para seu uso. usando elementos definidos nas especificações C ++ 11/14, uma biblioteca para desenrolar a pilha de exceção (desenrolar), bem como sua própria biblioteca de tempo de execução para suportar o uso de construtores / destruidores e exceções de manipulador de log.

Como para o principais inovações da nova versão do Bareflank 3.0 o seguinte se destaca:

  • Transição para o conceito de microkernel. Anteriormente, o hipervisor tinha uma arquitetura monolítica, na qual para estender a funcionalidade, ele precisava usar uma API especial para gravar chamadas de retorno, o que dificultava o desenvolvimento de extensões devido à vinculação à linguagem C ++ e ao dispositivo interno.
  • A nova arquitetura de microkernel separa o hipervisor em componentes do kernel que são executados no anel zero e extensões que são 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 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, incluindo o uso da linguagem Rust, para a qual são fornecidos exemplos de extensão prontos para uso.
  • Ele fez a transição para usar sua própria biblioteca BSL com suporte a Rust e C ++, substituindo as bibliotecas externas libc ++ e newlib. A remoção de dependências externas permitiu que o Bareflank implementasse suporte nativo de compilação no Windows para simplificar o desenvolvimento nesta plataforma.
  • Bareflank agora vem com suporte para AMD. Além disso, o desenvolvimento do Bareflank agora ocorre em um sistema com uma CPU AMD e só então ele muda para uma CPU Intel, garantindo que o desenvolvimento para AMD seja levado a sério.
  • O carregador adicionou suporte para a arquitetura ARMv8, cuja adaptação do hipervisor será concluída em uma versão futura.
    Conformidade com os requisitos de projeto de sistema de missão crítica AUTOSAR e MISRA.

Finalmente se você estiver interessado em saber mais sobre isso, você pode consultar os detalhes 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: AB Internet Networks 2008 SL
  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.