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.