Hypervisor-Release , das ein Toolkit zur schnellen Entwicklung spezialisierter Hypervisoren bereitstellt. Bareflank ist in C++ geschrieben und unterstĂŒtzt C++ STL. Die modulare Architektur von Bareflank ermöglicht es, die vorhandenen Funktionen des Hypervisors einfach zu erweitern und eigene Varianten von Hypervisoren zu erstellen, die sowohl auf Hardware (wie Xen) als auch in vorhandenen Softwareumgebungen (wie VirtualBox) betrieben werden. Es besteht die Möglichkeit, das Betriebssystem der Host-Umgebung in einer separaten virtuellen Maschine auszufĂŒhren. Der Code des Projekts steht unter der LGPL 2.1-Lizenz.
Bareflank unterstĂŒtzt Linux, Windows und UEFI auf 64-Bit-CPUs von Intel. FĂŒr die Hardware-Trennung der Ressourcen von virtuellen Maschinen kommt die Intel VT-x-Technologie zum Einsatz. In der Zukunft ist die UnterstĂŒtzung von macOS und BSD-Systemen sowie die Möglichkeit der AusfĂŒhrung auf ARM64- und AMD-Plattformen geplant. DarĂŒber hinaus entwickelt das Projekt einen eigenen Treiber zum Laden des VMM (Virtual Machine Manager), einen ELF-Bootloader zum Laden von VVM-Modulen und eine Anwendung bfm zur Verwaltung des Hypervisors aus dem Benutzerspeicherbereich. Ein Toolkit zum Schreiben von Erweiterungen mithilfe der in den Spezifikationen C++11/14 definierten Elemente wird bereitgestellt, sowie eine Bibliothek zum Entwirren von Ausnahmen (unwind) und eine eigene Runtime-Bibliothek zur UnterstĂŒtzung der Verwendung von Konstruktoren/Destruktoren und der Registrierung von Ausnahmebehandlern.
Auf Basis von Bareflank wird ein Virtualisierungssystem entwickelt , das den Betrieb von Gastbetriebssystemen unterstĂŒtzt und die Nutzung von leichtgewichtigen virtuellen Maschinen mit Linux und Unikernel fĂŒr den Betrieb spezialisierter Dienste oder Anwendungen ermöglicht. In Form isolierter Dienste können sowohl gewöhnliche Webdienste als auch Anwendungen, die besondere Anforderungen an ZuverlĂ€ssigkeit und Sicherheit stellen und vom Host-Umfeld isoliert sind (Host-Umgebung wird in einer separaten virtuellen Maschine isoliert), betrieben werden.
Die wichtigsten Neuerungen in Bareflank 2.0:
- UnterstĂŒtzung des direkten Starts von Bareflank aus UEFI hinzugefĂŒgt, um anschlieĂend das Betriebssystem in einer virtuellen Maschine auszufĂŒhren;
- Ein neuer Speicherverwaltungsmanager wurde implementiert, der nach dem Vorbild der SLAB/Buddy-Speicherverwaltung in Linux entworfen wurde. Der neue Speicherverwaltungsmanager zeigt eine Verringerung der Fragmentierung, ermöglicht eine höhere Leistung und unterstĂŒtzt die dynamische Zuweisung von Speicher an den Hypervisor ĂŒber , was die anfĂ€ngliche GröĂe des Hypervisors reduziert und eine optimale Skalierung je nach Anzahl der CPU-Kerne ermöglicht;
- Ein neues Build-System basierend auf CMake, unabhĂ€ngig vom Kommandozeileninterpreter, das eine erheblich beschleunigte Kompilierung des Hypervisors ermöglicht und die zukĂŒnftige UnterstĂŒtzung weiterer Architekturen wie ARM vereinfacht;
- Der Code wurde reorganisiert und die Struktur des Quellcodes vereinfacht. Die UnterstĂŒtzung benachbarter Projekte wie hyperkernel wurde verbessert, ohne dass eine Code-Duplikation erforderlich ist. Der Code wurde deutlicher getrennt , der unwind-Bibliothek, Runtime, Steuerwerkzeugen, Bootloader und SDK;
- Ein GroĂteil der API wurde von den zuvor verwendeten Verer mech anismen in C++ auf die Anwendung von , um die API zu vereinfachen, die Leistung zu steigern und den Ressourcenverbrauch zu reduzieren.
Quelle: opennet.ru
