Bareflank 3.0 Hypervisor-Version

Der Hypervisor Bareflank 3.0 wurde veröffentlicht und bietet ein Toolkit für die schnelle Entwicklung spezialisierter Hypervisoren. Bareflank ist in C++ geschrieben und unterstützt C++ STL. Die modulare Architektur von Bareflank erleichtert die Erweiterung vorhandener Hypervisor-Funktionen und die Erstellung eigener Hypervisor-Optionen, die sowohl auf Hardware (wie Xen) als auch in einer vorhandenen Softwareumgebung (wie VirtualBox) ausgeführt werden können. Es ist möglich, das Betriebssystem der Hostumgebung in einer separaten virtuellen Maschine auszuführen. Der Projektcode wird unter der LGPL 2.1-Lizenz vertrieben.

Bareflank bietet Unterstützung für Linux, Windows und UEFI auf 64-Bit-Intel- und AMD-CPUs. Die Intel VT-x-Technologie wird für die Hardwarepartitionierung der Ressourcen virtueller Maschinen verwendet. Für die Zukunft ist die Unterstützung von macOS- und BSD-Systemen sowie die Möglichkeit, auf der ARM64-Plattform zu arbeiten, geplant. Darüber hinaus entwickelt das Projekt einen eigenen Treiber zum Laden von VMM (Virtual Machine Manager), einen ELF-Loader zum Laden von VVM-Modulen und eine BFM-Anwendung zur Steuerung des Hypervisors aus dem Benutzerbereich. Es wird ein Toolkit zum Schreiben von Erweiterungen unter Verwendung von Elementen bereitgestellt, die in den C++11/14-Spezifikationen definiert sind, eine Bibliothek zum Abwickeln des Ausnahmestapels (unwind) sowie eine eigene Laufzeitbibliothek zur Unterstützung der Verwendung von Konstruktoren/Destruktoren und der Registrierung von Ausnahmehandlern.

Auf Basis von Bareflank wird derzeit das Virtualisierungssystem Boxy entwickelt, das den Start von Gastsystemen unterstützt und den Einsatz leichtgewichtiger virtueller Maschinen mit Linux und Unikernel zur Ausführung spezialisierter Dienste oder Anwendungen ermöglicht. In Form von isolierten Diensten können Sie sowohl normale Webdienste als auch Anwendungen mit besonderen Anforderungen an Zuverlässigkeit und Sicherheit unabhängig vom Einfluss der Host-Umgebung ausführen (die Host-Umgebung ist in einer separaten virtuellen Maschine isoliert). Bareflank ist auch das Herzstück des MicroV-Hypervisors, der für die Ausführung minimalistischer virtueller Maschinen (virtuelle Einzelanwendungsmaschine) konzipiert ist, die KVM-API implementiert und sich zum Aufbau geschäftskritischer Systeme eignet.

Die wichtigsten Neuerungen von Bareflank 3.0:

  • Übergang zur Verwendung des Mikrokernel-Konzepts. Zuvor verfügte der Hypervisor über eine monolithische Architektur, bei der zur Erweiterung der Funktionalität eine spezielle API zur Registrierung von Rückrufaufrufen verwendet werden musste, was die Entwicklung von Erweiterungen aufgrund der Bindung an die Sprache und Interna von C++ erschwerte . Die neue Mikrokernel-basierte Architektur unterteilt den Hypervisor in Kernel-Komponenten, die im Nullring des Schutzes ausgeführt werden, und Erweiterungen, die im dritten Ring (Benutzerbereich) ausgeführt werden. Beide Teile laufen im VMX-Root-Modus und alles andere, einschließlich der Host-Umgebung, im Nicht-Root-VMX-Modus. User-Space-Erweiterungen implementieren die Funktionalität von Virtual Machine Manager (VMM) und interagieren mit dem Hypervisor-Kernel über abwärtskompatible Systemaufrufe. Erweiterungen können in jeder Programmiersprache erstellt werden, einschließlich der Verwendung der Rust-Sprache.
  • Wir sind auf die Verwendung unserer eigenen BSL-Bibliothek mit Unterstützung für Rust und C++ umgestiegen, die die externen Bibliotheken libc++ und newlib ersetzt. Durch das Entfernen externer Abhängigkeiten konnte Bareflank native Windows-Kompilierungsunterstützung implementieren, um die Entwicklung auf dieser Plattform zu vereinfachen.
  • Unterstützung für AMD-Prozessoren hinzugefügt. Darüber hinaus wird die Entwicklung von Bareflank nun auf einem System mit einer AMD-CPU durchgeführt und erst anschließend auf eine Intel-CPU portiert.
  • Dem Bootloader wurde Unterstützung für die ARMv8-Architektur hinzugefügt, deren Hypervisor-Anpassung in einer der nächsten Versionen abgeschlossen sein wird.
  • Einhaltung der unternehmenskritischen Systementwicklungsanforderungen von AUTOSAR und MISRA.

Source: opennet.ru

Kommentar hinzufügen