Release of the Bareflank 3.0 hypervisor

The release of the Bareflank hypervisor 3.0 has taken place, providing a toolkit for rapid development of specialized hypervisors. Bareflank is written in C++, supporting the C++ STL. The modular architecture of Bareflank allows for easy expansion of existing hypervisor capabilities and creation of custom hypervisor variants, both running on bare-metal (like Xen) and in an existing software environment (like VirtualBox). There is an option to run the host environment operating system in a separate virtual machine. The project code is distributed under the LGPL 2.1 license.

Bareflank has implemented support for Linux, Windows, and UEFI on 64-bit Intel and AMD CPUs. For hardware resource separation, of virtual machines the Intel VT-x technology is used. Future support for macOS and BSD systems is planned, as well as the capability to operate on the ARM64 platform. Additionally, the project is developing its own driver for loading the VMM (Virtual Machine Manager), an ELF loader for loading VVM modules, and a bfm application for managing the hypervisor from user space. A toolkit for writing extensions using elements defined in C++11/14 specifications, a stack unwinding library, and a custom runtime library to support the use of constructors/destructors and exception handler registration are also provided.

Based on Bareflank, the Boxy virtualization system is being developed, which supports the launch of guest systems and allows the use of lightweight virtual machines with Linux and Unikernel for running specialized services or applications. Isolated services can run both standard web services and applications with specific reliability and security requirements, free from the influence of the host environment (the host environment is isolated in a separate virtual machine). Bareflank also underpins the MicroV hypervisor, designed for running minimalist virtual machines (the virtual machine of a single application), implementing the KVM API and suitable for creating critical systems.

Key innovations in Bareflank 3.0:

  • Transition to the microkernel architecture. Previously, the hypervisor had a monolithic architecture, requiring a special API for registering callback calls to extend functionality, making it difficult to develop extensions due to its dependency on C++ and internal structure. The new microkernel-based architecture separates the hypervisor into core components, which run in ring 0, and extensions that run in ring 3 (user space). Both parts operate in root VMX mode, while everything else, including the host environment, operates in non-root VMX mode. User space extensions implement the virtual machine manager (VMM) functionality and interact with the hypervisor core through system calls, ensuring backward compatibility. Extensions can be developed in any programming language, with Rust being supported.
  • The transition to using the native BSL library with Rust and C++ support has been completed, replacing the external libraries libc++ and newlib. The abandonment of external dependencies has allowed Bareflank to implement native support for compilation on Windows, simplifying development on this platform.
  • Support for AMD processors has been added. Moreover, Bareflank development is now conducted on a system with an AMD CPU, which is later ported to Intel CPUs.
  • Support for the ARMv8 architecture has been added to the bootloader, with adaptation of the hypervisor for it to be completed in one of the upcoming releases.
  • Compliance with the development requirements for critical systems set forth by the AUTOSAR and MISRA organizations has been ensured.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster