Bareflank 3.0 hypervisor release

Bareflank 3.0 hypervisor släpptes, som tillhandahåller verktyg för snabb utveckling av specialiserade hypervisorer. Bareflank är skrivet i C++ och stöder C++ STL. Den modulära arkitekturen hos Bareflank gör att du enkelt kan utöka hypervisorns befintliga kapacitet och skapa dina egna versioner av hypervisorer, som både körs ovanpå hårdvara (som Xen) och körs i en befintlig mjukvarumiljö (som VirtualBox). Det är möjligt att köra värdmiljöns operativsystem i en separat virtuell maskin. Projektkoden distribueras under LGPL 2.1-licensen.

Bareflank stöder Linux, Windows och UEFI på 64-bitars Intel- och AMD-processorer. Intel VT-x-teknik används för hårdvarudelning av virtuella maskinresurser. Stöd för macOS och BSD-system planeras för framtiden, liksom möjligheten att arbeta på ARM64-plattformen. Dessutom utvecklar projektet en egen drivrutin för att ladda VMM (Virtual Machine Manager), en ELF-lastare för att ladda VVM-moduler och en bfm-applikation för att styra hypervisorn från användarutrymmet. Det tillhandahåller verktyg för att skriva tillägg med hjälp av element definierade i C++11/14-specifikationerna, ett bibliotek för att avveckla undantagsstacken (avveckla), såväl som sitt eget runtime-bibliotek för att stödja användningen av konstruktörer/destruktörer och registrering av undantagshanterare.

Baserat på Bareflank utvecklas virtualiseringssystemet Boxy, som stöder körande gästsystem och tillåter användning av lätta virtuella maskiner med Linux och Unikernel för att köra specialiserade tjänster eller applikationer. I form av isolerade tjänster kan du köra både vanliga webbtjänster och applikationer som har speciella krav på tillförlitlighet och säkerhet, fritt från värdmiljöns påverkan (värdmiljön är isolerad i en separat virtuell maskin). Bareflank är också basen för MicroV-hypervisorn, designad för att köra minimalistiska virtuella maskiner (virtuell maskin med en applikation), implementerar KVM API och är lämplig för att skapa verksamhetskritiska system.

De viktigaste innovationerna i Bareflank 3.0:

  • Övergång till att använda mikrokärnkonceptet. Tidigare hade hypervisorn en monolitisk arkitektur, där det, för att utöka funktionaliteten, var nödvändigt att använda ett speciellt API för att registrera callback-samtal, vilket gjorde det svårt att utveckla tillägg på grund av bindningen till C++-språket och den interna strukturen. Den nya mikrokärnbaserade arkitekturen innebär att hypervisorn delas upp i kärnkomponenter som körs på ring noll av skydd och tillägg som körs på ring tre (användarutrymme). Båda delarna körs i VMX-rotläge, och allt annat, inklusive värdmiljön, körs i VMX-icke-rootläge. Användarutrymmestillägg implementerar Virtual Machine Manager-funktionalitet (VMM) och interagerar med hypervisorkärnan genom systemanrop som är bakåtkompatibla. Tillägg kan skapas i alla programmeringsspråk, inklusive Rust.
  • En övergång gjordes till användningen av vårt eget BSL-bibliotek med stöd för Rust och C++, som ersatte de externa biblioteken libc++ och newlib. Genom att eliminera externa beroenden tillhandahåller Bareflank inbyggt Windows-kompileringsstöd för att förenkla utvecklingen på den plattformen.
  • Tillagt stöd för AMD-processorer. Dessutom utförs Bareflank-utvecklingen nu på ett system med en AMD-processor och först därefter portad till en Intel-processor.
  • Bootloadern har lagt till stöd för ARMv8-arkitekturen, anpassning av hypervisorn för vilken kommer att slutföras i en av de kommande utgåvorna.
  • Säkerställd efterlevnad av kraven för utveckling av kritiska system formulerade av AUTOSAR- och MISRA-organisationerna.

Källa: opennet.ru

Lägg en kommentar