Veröffentlichung des Hypervisors Bareflank 3.0

Die Veröffentlichung des Hypervisors Bareflank 3.0 hat stattgefunden, der ein Werkzeugset für die schnelle Entwicklung spezieller Hypervisoren bereitstellt. Bareflank ist in C++ geschrieben und unterstützt C++ STL. Die modulare Architektur von Bareflank ermöglicht es, die bestehenden Funktionen des Hypervisors leicht zu erweitern und eigene Varianten von Hypervisoren zu erstellen, die sowohl auf Hardware-Basis (wie Xen) als auch in einer vorhandenen Softwareumgebung (wie VirtualBox) laufen. Es besteht die Möglichkeit, das Betriebssystem der Host-Umgebung in einer separaten virtuellen Maschine auszuführen. Der Code des Projekts wird unter der LGPL 2.1-Lizenz verbreitet.

Bareflank unterstützt Linux, Windows und UEFI auf 64-Bit-CPUs von Intel und AMD. Für die hardwarebasierte Ressourcenteilung virtuelle Maschinen wird die Technologie Intel VT-x eingesetzt. Für die Zukunft ist die Unterstützung von macOS und BSD-Systemen sowie die Möglichkeit der Nutzung auf ARM64-Plattformen geplant. Darüber hinaus wird vom Projekt ein eigener Treiber für das Laden des VMM (Virtual Machine Manager), ein ELF-Lader für das Laden von VVM-Modulen und eine Anwendung namens bfm zur Verwaltung des Hypervisors aus dem Benutzerspeicher entwickelt. Es wird ein Werkzeugset für das Schreiben von Erweiterungen unter Verwendung von Elementen, die in den Spezifikationen C++11/14 definiert sind, bereitgestellt, sowie eine Bibliothek zur Ausnahme-Stack-Entwicklung (unwind) und eine eigene Runtime-Bibliothek zur Unterstützung von Konstruktoren/Destruktoren und der Registrierung von Ausnahmebehandlern.

Auf Grundlage von Bareflank wird das Virtualisierungssystem Boxy entwickelt, das den Betrieb von Gastsystemen unterstützt und es ermöglicht, leichtgewichtige virtuelle Maschinen mit Linux und Unikernels zum Starten spezialisierter Dienste oder Anwendungen zu verwenden. In Form von isolierten Diensten können sowohl normale Web-Dienste als auch Anwendungen ausgeführt werden, die besondere Anforderungen an Zuverlässigkeit und Sicherheit stellen und vom Host-Umfeld unabhängig sind (das Host-Umfeld wird in einer separaten virtuellen Maschine isoliert). Bareflank bildet auch die Basis für den Hypervisor MicroV, der für den Betrieb minimalistischer virtueller Maschinen vorgesehen ist (eine virtuelle Maschine einer Anwendung), der die KVM-API implementiert und sich für den Aufbau kritischer Systeme eignet.

Die wichtigsten Neuerungen von Bareflank 3.0:

  • Übergang zur Verwendung des Mikrokern-Konzepts. Zuvor hatte der Hypervisor eine monolithische Architektur, bei der zur Erweiterung der Funktionalität eine spezielle API zur Registrierung von Callback-Aufrufen verwendet werden musste. Dies erschwerte die Entwicklung von Erweiterungen aufgrund der Bindung an die Programmiersprache C++ und der internen Struktur. Die neue Architektur auf Basis des Mikrokerns sieht eine Aufteilung des Hypervisors in Kernkomponenten vor, die im Ring 0 des Schutzes ausgeführt werden, und Erweiterungen, die im Ring 3 (Benutzermodus) ausgeführt werden. Beide Teile arbeiten im Root-Modus von VMX, während alles andere, einschließlich der Host-Umgebung, im Nicht-Root-Modus von VMX arbeitet. Benutzerraumerweiterungen implementieren die Funktionalität eines virtuellen Maschinenmanagers (VMM) und interagieren über Systemaufrufe mit dem Hypervisor-Kern, für die Abwärtskompatibilität gewährleistet ist. Erweiterungen können in beliebigen Programmiersprachen entwickelt werden, einschließlich der Unterstützung der Programmiersprache Rust.
  • Der Übergang zur Verwendung unserer eigenen BSL-Bibliothek mit Unterstützung für Rust und C++ wurde vollzogen, die die externen Bibliotheken libc++ und newlib ersetzt. Der Verzicht auf externe Abhängigkeiten ermöglichte es, eine native Unterstützung für die Kompilierung unter Windows in Bareflank umzusetzen, um die Entwicklung auf dieser Plattform zu erleichtern.
  • Unterstützung für AMD-Prozessoren hinzugefügt. Darüber hinaus wird die Entwicklung von Bareflank jetzt auf einem System mit einer AMD-CPU betrieben und später für Intel-CPUs portiert.
  • Der Bootloader unterstützt jetzt die Architektur ARMv8, und die Anpassung des Hypervisors dafür wird in einer der nächsten Versionen abgeschlossen.
  • Die Anforderungen an die Entwicklung kritischer Systeme, die von den Organisationen AUTOSAR und MISRA formuliert wurden, wurden erfüllt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4