Lanzamento do hipervisor Bareflank 2.0

tivo lugar liberación de hipervisor Bareflak 2.0, que proporciona ferramentas para o desenvolvemento rápido de hipervisores especializados. Bareflank está escrito en C++ e admite C++ STL. A arquitectura modular de Bareflank permitirache ampliar facilmente as capacidades existentes do hipervisor e crear as túas propias versións de hipervisores, tanto funcionando enriba do hardware (como Xen) como nun ambiente de software existente (como VirtualBox). É posible executar o sistema operativo do ambiente host nunha máquina virtual separada. Código do proxecto distribuído por licenciado baixo LGPL 2.1.

Bareflank admite Linux, Windows e UEFI en CPU Intel de 64 bits. A tecnoloxía Intel VT-x úsase para compartir hardware de recursos de máquinas virtuais. O soporte para os sistemas macOS e BSD está previsto para o futuro, así como a posibilidade de traballar en plataformas ARM64 e AMD. Ademais, o proxecto está a desenvolver o seu propio controlador para cargar VMM (Virtual Machine Manager), un cargador ELF para cargar módulos VVM e unha aplicación bfm para controlar o hipervisor desde o espazo do usuario. Ofrece ferramentas para escribir extensións usando elementos definidos nas especificacións C++ 11/14, unha biblioteca para desenrolar a pila de excepcións (desenrolar), así como a súa propia biblioteca de tempo de execución para admitir o uso de construtores/destrutores e rexistrar controladores de excepcións.

Estase a desenvolver un sistema de virtualización baseado en Bareflank Caixas, que admite a execución de sistemas convidados e permite o uso de máquinas virtuais lixeiras con Linux e Unikernel para executar servizos ou aplicacións especializadas. En forma de servizos illados, pode executar tanto servizos web habituais como aplicacións que teñan requisitos especiais de fiabilidade e seguridade, sen a influencia do ambiente host (o ambiente host está illado nunha máquina virtual separada).

As principais novidades de Bareflank 2.0:

  • Engadido soporte para lanzar Bareflank directamente desde UEFI para a posterior execución do sistema operativo nunha máquina virtual;
  • Implementouse un novo xestor de memoria, deseñado de forma similar aos xestores de memoria SLAB/Buddy en Linux. O novo xestor de memoria demostra unha fragmentación reducida, permite un maior rendemento e admite a asignación de memoria dinámica ao hipervisor mediante bfdriver, que permite reducir o tamaño inicial do hipervisor e escalar de forma óptima dependendo do número de núcleos de CPU;
  • Un novo sistema de compilación baseado en CMake, independente do intérprete de comandos, permite unha aceleración significativa da compilación do hipervisor e simplifica o soporte futuro para arquitecturas adicionais, como ARM;
  • Reorganizouse o código e simplificouse a estrutura dos textos fonte. Compatibilidade mellorada para proxectos relacionados como hipernúcleo sen necesidade de duplicación de código. Código máis separado explícitamente hipervisor, biblioteca de desenrolamento, tempo de execución, ferramentas de control, cargador de arranque e SDK;
  • A maior parte da API, en lugar dos mecanismos de herdanza usados ​​anteriormente en C++, pasou a usar delegación, que simplificou a API, aumentou o rendemento e reduciu o consumo de recursos.

Fonte: opennet.ru

Engadir un comentario