udgaven af hypervisoren , der leverer værktøjer til hurtig udvikling af specialiserede hypervisorer. Bareflank er skrevet i C++ og understøtter C++ STL. Den modulære arkitektur i Bareflank gør det nemt at udvide de eksisterende funktioner i hypervisoren og skabe egne varianter af hypervisorer, både dem der kører på hardware (som Xen) og dem der kører i det eksisterende softwaremiljø (som VirtualBox). Der er mulighed for at køre operativsystemet i vært-miljøet i en separat virtuel maskine. Projektkoden er under LGPL 2.1-licensen.
Bareflank understøtter Linux, Windows og UEFI på 64-bit CPU'er fra Intel. Teknologien Intel VT-x anvendes til hardwareadskillelse af ressourcer i de virtuelle maskiner. På fremtiden er der planlagt støtte til macOS og BSD-systemer, samt muligheden for at arbejde på ARM64 og AMD-platforme. Derudover udvikles en egen driver til indlæsning af VMM (Virtual Machine Manager), en ELF-indlæser til indlæsning af VVM-moduler, og et bfm-program til styring af hypervisoren fra brugerrummet. Værktøjer til at skrive udvidelser med elementer defineret i C++11/14-specifikationerne, en bibliotek til undtagelsesstakudvikling (unwind), samt et eget runtime-bibliotek for at understøtte anvendelsen af konstruktører/destuktører og registrering af undtagelsesbehandlere.
Med Bareflank udvikles et virtualiseringssystem , der understøtter kørsel af gæstesystemer og muliggør anvendelse af letvægts virtuelle maskiner med Linux og Unikernel til at køre specialiserede tjenester eller applikationer. I form af isolerede tjenester kan både almindelige webtjenester og applikationer med særlige krav til pålidelighed og sikkerhed køres, isoleret fra indflydelsen fra vært-miljøet (værtsmiljøet isoleres i en separat virtuel maskine).
De vigtigste nyheder i Bareflank 2.0:
- Støtte til at starte Bareflank direkte fra UEFI for efterfølgende at køre operativsystemet i en virtuel maskine er blevet tilføjet;
- En ny hukommelsesstyringsmanager er blevet implementeret, designet i lighed med SLAB/Buddy hukommelsesmanagersystemer i Linux. Den nye hukommelsesmanager viser et fald i fragmentering, leverer højere ydeevne og understøtter dynamisk hukommelsestildeling til hypervisoren gennem , hvilket reducerer den indledende størrelse af hypervisoren og optimerer skaleringen afhængig af antallet af CPU-kerner;
- Et nyt byggesystem baseret på CMake, der er uafhængigt af kommandotolk, gør det muligt for betydelige forbedringer i kompileringstiden for hypervisoren og forenkler fremtidig support for yderligere arkitekturer som ARM;
- Koden er blevet reorganiseret, og strukturen af kildekoderne er blevet forenklet. Understøttelse af beslægtede projekter som hyperkernel er forbedret uden behov for at duplikere kode. Koden er mere klart adskilt , unwind-bibliotekerne, runtime, styringsværktøjer, bootloader og SDK;
- Størstedelen af API'et er i stedet for tidligere anvendte arvsmekanismer i C++ blevet overført til brug af , hvilket har forenklet API'et, øget ydeevnen og reduceret ressourceforbruget.
Kilde: opennet.ru
