Bareflank 3.0 hypervisor-release

De Bareflank 3.0-hypervisor is uitgebracht en biedt een toolkit voor de snelle ontwikkeling van gespecialiseerde hypervisors. Bareflank is geschreven in C++ en ondersteunt C++ STL. De modulaire architectuur van Bareflank maakt het eenvoudig om bestaande hypervisormogelijkheden uit te breiden en uw eigen hypervisoropties te creëren, zowel op hardware (zoals Xen) als in een bestaande softwareomgeving (zoals VirtualBox). Het is mogelijk om het besturingssysteem van de hostomgeving op een aparte virtuele machine te laten draaien. De projectcode wordt gedistribueerd onder de LGPL 2.1-licentie.

Bareflank biedt ondersteuning voor Linux, Windows en UEFI op 64-bits Intel- en AMD-CPU's. Intel VT-x-technologie wordt gebruikt voor hardwarepartitionering van virtuele machinebronnen. Ondersteuning voor macOS- en BSD-systemen is gepland voor de toekomst, evenals de mogelijkheid om op het ARM64-platform te werken. Daarnaast ontwikkelt het project een eigen driver voor het laden van VMM (Virtual Machine Manager), een ELF-lader voor het laden van VVM-modules en een bfm-applicatie voor het besturen van de hypervisor vanuit de gebruikersruimte. Er wordt een toolkit geleverd voor het schrijven van extensies met behulp van elementen die zijn gedefinieerd in de C++11/14-specificaties, een exception stack-unwinding-bibliotheek (unwind), evenals een eigen runtime-bibliotheek ter ondersteuning van het gebruik van constructors/destructors en registratie van exception-handlers.

Op basis van Bareflank wordt gewerkt aan de ontwikkeling van het Boxy-virtualisatiesysteem, dat de lancering van gastsystemen ondersteunt en het gebruik van lichtgewicht virtuele machines met Linux en Unikernel mogelijk maakt om gespecialiseerde services of applicaties uit te voeren. In de vorm van geïsoleerde services kun je zowel gewone webservices draaien als applicaties die speciale eisen stellen aan betrouwbaarheid en veiligheid, vrij van invloed van de hostomgeving (de hostomgeving is geïsoleerd in een aparte virtuele machine). Bareflank vormt ook de kern van de MicroV-hypervisor, ontworpen om minimalistische virtuele machines (virtuele machine met één applicatie) uit te voeren die de KVM API implementeert en geschikt is voor het bouwen van bedrijfskritische systemen.

De belangrijkste innovaties van Bareflank 3.0:

  • Overgang naar het gebruik van het microkernel-concept. Voorheen had de hypervisor een monolithische architectuur, waarbij het, om de functionaliteit uit te breiden, nodig was om een ​​speciale API te gebruiken voor het registreren van callback-oproepen, wat het moeilijk maakte om extensies te ontwikkelen vanwege de binding aan de C ++ -taal en internals . De nieuwe op microkernel gebaseerde architectuur splitst de hypervisor op in kernelcomponenten die draaien op de nulring van bescherming en extensies die draaien op de derde ring (gebruikersruimte). Beide delen draaien in VMX-rootmodus en al het andere, inclusief de hostomgeving, in niet-root VMX-modus. User-space-extensies implementeren Virtual Machine Manager (VMM)-functionaliteit en communiceren met de hypervisor-kernel via achterwaarts compatibele systeemaanroepen. Extensies kunnen in elke programmeertaal worden gemaakt, inclusief het gebruik van de Rust-taal.
  • We zijn overgestapt op het gebruik van onze eigen BSL-bibliotheek met ondersteuning voor Rust en C++, die de externe bibliotheken libc++ en newlib hebben vervangen. Door externe afhankelijkheden te verwijderen, kon Bareflank native Windows-compilatie-ondersteuning implementeren om de ontwikkeling op dit platform te vereenvoudigen.
  • Ondersteuning toegevoegd voor AMD-processors. Bovendien wordt de ontwikkeling van Bareflank nu uitgevoerd op een systeem met een AMD CPU en pas daarna geporteerd naar een Intel CPU.
  • Ondersteuning voor de ARMv8-architectuur is toegevoegd aan de bootloader, waarvoor de aanpassing van de hypervisor in een van de volgende releases zal worden voltooid.
  • Naleving van missiekritische systeemontwikkelingsvereisten van AUTOSAR en MISRA.

Bron: opennet.ru

Voeg een reactie