Bareflank, un kit de herramientas para el rápido desarrollo de hipervisores especializados

Bareflank está escrito en C++ y es compatible con C++ STL. La arquitectura modular de Bareflank permite expandir fácilmente las capacidades existentes del hipervisor y crear sus propias versiones de hipervisores, tanto ejecutándose sobre 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.

Sobre Bareflank

Bareflank es compatible con Linux, Windows y UEFI en CPU Intel y AMD de 64 bits. La tecnología Intel VT-x se utiliza para compartir hardware de los recursos de la máquina virtual. En el futuro, se prevé la compatibilidad con sistemas macOS y BSD, así como la capacidad de trabajar en la plataforma ARM64.

Además, el proyecto desarrolla su propio controlador para cargar VMM (Virtual Machine Manager), un cargador ELF para cargar módulos VVM y una aplicación bfm para administrar el hipervisor desde el espacio del usuario.

Sobre la base de Bareflank, la Boxy está siendo desarrollado sistema de virtualización, que apoya la puesta en marcha de sistemas invitados y permite el uso de máquinas virtuales ligeros con Linux y Unikernel para lanzar servicios especializados o aplicaciones.

En forma de servicios aislados, puede ejecutar servicios web ordinarios y aplicaciones que tienen requisitos especiales de confiabilidad y seguridad, sin 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), implementando la API KVM y adecuado para construir sistemas de misión crítica.

Para su uso se proporciona un kit de herramientas para escribir extensiones utilizando elementos definidos en las especificaciones de C++ 11/14, una biblioteca para desenrollar la pila de excepciones (desenrollar), así como su propia biblioteca en tiempo de ejecución para admitir el uso de constructores / destructores y registrar excepciones manipuladores.

En cuanto a las principales innovaciones de la nueva versión de Bareflank 3.0 se destacan las siguientes:

  • Transición al concepto de microkernel. Anteriormente, el hipervisor tenía una arquitectura monolítica, en la que para extender la funcionalidad, tenía que usar una API especial para registrar llamadas de devolución de llamada, lo que dificultaba el desarrollo de extensiones debido a la vinculación al lenguaje C ++ y al dispositivo interno.
  • La nueva arquitectura de microkernel separa el hipervisor en componentes de kernel que se ejecutan en el anillo cero y extensiones que se ejecutan en el tercer anillo (espacio de usuario). Ambas partes se ejecutan en modo raíz VMXy todo lo demás, incluido el entorno de host, en modo VMX no root.
  • Las extensiones de espacio de usuario implementan la funcionalidad del administrador de máquinas virtuales (VMM) e interactúan con el kernel 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, para lo cual se proporcionan ejemplos de extensiones listos para usar.
  • Se ha realizado la transición para usar su propia biblioteca BSL con soporte para Rust y C ++, que reemplazó a las bibliotecas externas libc ++ y newlib. La eliminación de las dependencias externas permitió a Bareflank implementar el soporte de compilación nativo en Windows para simplificar el desarrollo en esta plataforma.
  • Bareflank ahora viene con soporte para AMD. Además, el desarrollo de Bareflank ahora se lleva a cabo en un sistema con una CPU AMD y solo entonces se traslada a una CPU Intel, lo que garantiza que el desarrollo para AMD se tome en serio.
  • El cargador ha agregado soporte para la arquitectura ARMv8, cuya adaptación del hipervisor se completará en una versión futura.
    Cumplimiento de los requisitos de diseño de sistemas de misión crítica AUTOSAR y MISRA.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

bool(true)