utgÄvan av hypervisorn , som ger verktyg för snabb utveckling av specialiserade hypervisorer. Bareflank Àr skrivet i C++, stöder C++ STL. Den modulÀra arkitekturen hos Bareflank gör det enkelt att utöka de befintliga funktionerna hos hypervisorn och skapa egna varianter av hypervisorer, bÄde de som körs pÄ hÄrdvara (som Xen) och de som körs i befintlig programmiljö (som VirtualBox). Det finns möjlighet att köra operativsystemet i vÀrdmiljön i en separat virtuell maskin. Projektkoden Àr licensierad under LGPL 2.1.
Bareflank stöder Linux, Windows och UEFI pÄ 64-bitars Intel CPU:er. För hÄrdvaruavskiljning av resurser mellan virtuella maskiner anvÀnds Intel VT-x-teknologin. Stöd för macOS och BSD-system samt möjligheten att arbeta pÄ ARM64 och AMD-plattformar planeras för framtiden. Dessutom utvecklar projektet en egen drivrutin för att ladda VMM (Virtual Machine Manager), en ELF-laddare för att ladda VVM-moduler, och applikationen bfm för att hantera hypervisorn frÄn anvÀndarrummet. Verktyg tillhandahÄlls för att skriva tillÀgg med hjÀlp av element definierade i C++11/14 specifikationerna, ett undantagsstackavvecklingsbibliotek (unwind), samt ett eget körbibliotek för att stödja anvÀndning av konstruktorer/destruktörer och registrering av undantagshanterare.
PÄ basis av Bareflank utvecklas ett virtualiseringssystem , 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 bÄde vanliga webbtjÀnster och applikationer med sÀrskilda krav pÄ tillförlitlighet och sÀkerhet köras, som Àr fria frÄn pÄverkan av vÀrdmiljön (vÀrdmiljön isoleras i en separat virtuell maskin).
Huvudnyheterna i Bareflank 2.0:
- Stöd för att starta Bareflank direkt frÄn UEFI för efterföljande körning av operativsystemet i en virtuell maskin har lagts till;
- En ny minneshanterare har implementerats, utformad i linje med SLAB/Buddy-minneshanterare i Linux. Den nya minneshanteraren visar en minskning av fragmentering, möjliggör högre prestanda och stöder dynamisk minnesallokering till hypervisorn genom , vilket minskar den initiala storleken pÄ hypervisorn och gör det möjligt att optimalt skala beroende pÄ antalet CPU-kÀrnor;
- Ett nytt byggsystem baserat pÄ CMake, oberoende av kommandotolk, vilket pÄtagligt accelererar kompileringen av hypervisorn och förenklar framtida stöd för ytterligare arkitekturer, sÄsom ARM;
- Koden har omorganiserats och strukturen av kÀllkoden har förenklats. Stödet för relaterade projekt, sÄsom hyperkernel, har förbÀttrats utan behov av kodduplicering. Koden har tydligare separerats , unwind-bibliotek, runtime, verktyg för hantering, bootloader och SDK;
- Större delen av API:t har istÀllet för tidigare anvÀnda arvsmekanismer i C++ omvandlats till att anvÀnda , vilket har förenklat API:t, ökat prestandan och minskat resursanvÀndningen.
KĂ€lla: opennet.ru
