Lanzamiento del hipervisor Bareflak 3.0

Se ha lanzado el hipervisor Bareflak 3.0, que proporciona un conjunto de herramientas para el rápido desarrollo de hipervisores especializados. Bareflak está escrito en C++ y es compatible con C++ STL. La arquitectura modular de Bareflak facilita la expansión de las capacidades del hipervisor existente y la creación de sus propias opciones de hipervisor, tanto ejecutándose sobre el hardware (como Xen) como en un entorno de software existente (como VirtualBox). Es posible ejecutar el sistema operativo del entorno host en una máquina virtual separada. El código del proyecto se distribuye bajo la licencia LGPL 2.1.

Bareflak brinda soporte para Linux, Windows y UEFI en CPU Intel y AMD de 64 bits. La tecnología Intel VT-x se utiliza para la partición de hardware de los recursos de la máquina virtual. La compatibilidad con los sistemas macOS y BSD está prevista para el futuro, así como la capacidad de trabajar en la plataforma ARM64. Además, el proyecto desarrolla su propio controlador para cargar VMM (Administrador de máquinas virtuales), un cargador ELF para cargar módulos VVM y una aplicación bfm para controlar el hipervisor desde el espacio del usuario. Se proporciona un conjunto de herramientas para escribir extensiones utilizando elementos definidos en las especificaciones de C++ 11/14, una biblioteca de desenredado de pila de excepciones (desenrollado), así como su propia biblioteca de tiempo de ejecución para admitir el uso de constructores/destructores y el registro de controladores de excepciones.

Sobre la base de Bareflank, está en marcha el desarrollo del sistema de virtualización Boxy, que soporta el lanzamiento de sistemas invitados y permite el uso de máquinas virtuales livianas con Linux y Unikernel para ejecutar servicios o aplicaciones especializadas. En forma de servicios aislados, puede ejecutar servicios web ordinarios y aplicaciones que tienen requisitos especiales de confiabilidad y seguridad, libres de la influencia del entorno del host (el entorno del host está aislado en una máquina virtual separada). Bareflank también está en el corazón del hipervisor MicroV, diseñado para ejecutar máquinas virtuales minimalistas (máquina virtual de aplicación única) que implementa la API KVM y es adecuada para construir sistemas de misión crítica.

Las principales novedades de Bareflak 3.0:

  • Transición al uso del concepto de microkernel. Anteriormente, el hipervisor tenía una arquitectura monolítica, en la que, para ampliar la funcionalidad, era necesario utilizar una API especial para registrar las llamadas de devolución de llamada, lo que dificultaba el desarrollo de extensiones debido a que estaba vinculado al lenguaje C ++ y las funciones internas. . La nueva arquitectura basada en microkernel divide el hipervisor en componentes de kernel que se ejecutan en el anillo cero de protección y extensiones que se ejecutan en el tercer anillo (espacio de usuario). Ambas partes se ejecutan en modo raíz VMX y todo lo demás, incluido el entorno de host, en modo VMX no raíz. Las extensiones de espacio de usuario implementan la funcionalidad de Virtual Machine Manager (VMM) e interactúan con el núcleo del hipervisor a través de llamadas al sistema compatibles con versiones anteriores. Las extensiones se pueden crear en cualquier lenguaje de programación, incluido el uso del lenguaje Rust.
  • Pasamos a usar nuestra propia biblioteca BSL con soporte para Rust y C++, que reemplazó las bibliotecas externas libc++ y newlib. La eliminación de las dependencias externas permitió a Bareflank implementar el soporte nativo de compilación de Windows para simplificar el desarrollo en esta plataforma.
  • Se agregó soporte para procesadores AMD. Además, el desarrollo de Bareflank ahora se lleva a cabo en un sistema con una CPU AMD y solo luego se transfiere a una CPU Intel.
  • Se agregó soporte para la arquitectura ARMv8 al cargador de arranque, para el cual la adaptación del hipervisor se completará en una de las próximas versiones.
  • Logré el cumplimiento de los requisitos para el desarrollo de sistemas críticos, formulados por las organizaciones AUTOSAR y MISRA.

Fuente: opennet.ru

Añadir un comentario