utgivelse av hypervisor , som gir verktøy for rask utvikling av spesialiserte hypervisorer. Bareflank er skrevet i C++, og støtter C++ STL. Den modulære arkitekturen til Bareflank gjør det enkelt å utvide eksisterende hypervisor-funksjoner og lage egne varianter av hypervisorer, både som kjører direkte på maskinvaren (som Xen) og som kan kjøres i et eksisterende programmiljø (som VirtualBox). Det er mulighet for å kjøre vertssystemet i en egen virtuell maskin. Koden til prosjektet er under LGPL 2.1-lisens.
Bareflank implementerer støtte for Linux, Windows og UEFI på 64-bits Intel CPU-er. For maskinvare-isolering av ressursene til virtuelle maskiner brukes Intel VT-x-teknologien. Fremover er det planlagt støtte for macOS og BSD-systemer, samt muligheten for å kjøre på ARM64- og AMD-plattformer. I tillegg utvikles det et eget driver for oppstart av VMM (Virtual Machine Manager), en ELF-laster for moduloppstart for VVM, og applikasjonen bfm for å administrere hypervisoren fra brukermiljøet. Det tilbys verktøy for å skrive utvidelser ved hjelp av elementer definert i spesifikasjonene C++11/14, en bibliotek for rulling av unntak (unwind), samt et eget runtime-bibliotek for støtte av konstruktører/destruktører og registrering av unntakshåndterere.
Basert på Bareflank utvikles et virtualiseringssystem , som støtter kjøring av gjestesystemer og lar deg bruke lette virtuelle maskiner med Linux og Unikernel for å kjøre spesialiserte tjenester eller applikasjoner. I form av isolerte tjenester kan både vanlige webtjenester og applikasjoner som stiller spesielle krav til pålitelighet og sikkerhet, utføres uten påvirkning fra vertssystemet (vertssystemet isoleres i en egen virtuell maskin).
Hovednyhetene i Bareflank 2.0:
- Støtte for å starte Bareflank direkte fra UEFI for påfølgende kjøring av operativsystemet i en virtuell maskin er lagt til;
- Implementert en ny minnehåndteringsleder, designet etter mønster av SLAB/Buddy minnehåndterere i Linux. Den nye minnehåndtereren viser redusert fragmentering, gir bedre ytelse og støtter dynamisk minnetildeling til hypervisoren gjennom , noe som reduserer den opprinnelige størrelsen på hypervisoren og gjør det mulig med optimal skalerbarhet avhengig av antall CPU-kjerner;
- Et nytt byggesystem basert på CMake, uavhengig av kommandotolk, som gir betydelig raskere kompilering av hypervisoren og forenkler fremtidig støtte for ekstra arkitekturer som ARM;
- Koden er omskrevet og strukturen til kildekodene er forenklet. Forbedret støtte for beslektede prosjekter som hyperkernel, uten behov for kodekopiering. Koden er tydeligere separert , unwind-biblioteket, runtime, styringsverktøyet, bootloaderen og SDK;
- Størsteparten av API-et, i stedet for de tidligere brukte arve mekanismene i C++, er overført til bruk av , noe som har forenklet API-et, økt ytelsen og redusert ressursforbruket.
Kilde: opennet.ru
