Bareflank 2.0 hypervisor release

tog plats hypervisor release Bareflank 2.0, 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. Projektkod levererad av licensierad under LGPL 2.1.

Bareflank stöder Linux, Windows och UEFI på 64-bitars Intel-processorer. Intel VT-x-teknik används för maskinvarudelning av virtuella maskinresurser. Stöd för macOS- och BSD-system planeras för framtiden, liksom möjligheten att arbeta på ARM64- och AMD-plattformar. 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.

Ett virtualiseringssystem utvecklas baserat på Bareflank boxy, som stöder körning av 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).

De viktigaste innovationerna i Bareflank 2.0:

  • Lade till stöd för att starta Bareflank direkt från UEFI för efterföljande exekvering av operativsystemet i en virtuell maskin;
  • En ny minneshanterare har implementerats, utformad på samma sätt som SLAB/Buddy minneshanterare i Linux. Den nya minneshanteraren visar minskad fragmentering, möjliggör högre prestanda och stöder dynamisk minnesallokering till hypervisorn genom bfdriver, vilket gör att du kan minska den initiala storleken på hypervisorn och skala optimalt beroende på antalet CPU-kärnor;
  • Ett nytt byggsystem baserat på CMake, oberoende av kommandotolken, möjliggör betydande acceleration av hypervisorkompilering och förenklar framtida stöd för ytterligare arkitekturer, såsom ARM;
  • Koden har omorganiserats och källtexternas struktur har förenklats. Förbättrat stöd för relaterade projekt som hyperkärna utan behov av kodduplicering. Mer explicit separerad kod hypervisor, varva ner bibliotek, runtime, kontrollverktyg, bootloader och SDK;
  • Det mesta av API:t, istället för de tidigare använda arvsmekanismerna i C++, har bytts till att använda delegation, vilket förenklade API, ökade prestanda och minskade resursförbrukningen.

Källa: opennet.ru

Lägg en kommentar