hypervisor frigivelse , som giver 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 giver dig mulighed for nemt at udvide hypervisorens eksisterende muligheder og skabe dine egne versioner af hypervisorer, både kørende oven på hardware (som Xen) og kørende i et eksisterende softwaremiljø (som VirtualBox). Det er muligt at køre værtsmiljøets operativsystem i en separat virtuel maskine. Projektkode licenseret under LGPL 2.1.
Bareflank understøtter Linux, Windows og UEFI på 64-bit Intel CPU'er. Intel VT-x-teknologi bruges til hardwaredeling af virtuelle maskinressourcer. Understøttelse af macOS- og BSD-systemer er planlagt i fremtiden, samt muligheden for at arbejde på ARM64- og AMD-platforme. Derudover udvikler projektet sin egen driver til indlæsning af VMM (Virtual Machine Manager), en ELF-indlæser til indlæsning af VVM-moduler og en bfm-applikation til at styre hypervisoren fra brugerpladsen. Det giver værktøjer til at skrive udvidelser ved hjælp af elementer defineret i C++11/14-specifikationerne, et bibliotek til at afvikle undtagelsesstakken (afvikle), såvel som dets eget runtime-bibliotek til at understøtte brugen af konstruktører/destruktorer og registrering af undtagelsesbehandlere.
Et virtualiseringssystem er under udvikling baseret på Bareflank , som understøtter kørende gæstesystemer og tillader brugen af lette virtuelle maskiner med Linux og Unikernel til at køre specialiserede tjenester eller applikationer. I form af isolerede tjenester kan du køre både almindelige webtjenester og applikationer, der har særlige krav til pålidelighed og sikkerhed, fri for påvirkning fra værtsmiljøet (værtsmiljøet er isoleret i en separat virtuel maskine).
De vigtigste nyskabelser i Bareflank 2.0:
- Tilføjet understøttelse for at starte Bareflank direkte fra UEFI til efterfølgende udførelse af operativsystemet i en virtuel maskine;
- En ny memory manager er blevet implementeret, designet på samme måde som SLAB/Buddy memory managers i Linux. Den nye memory manager demonstrerer reduceret fragmentering, giver mulighed for højere ydeevne og understøtter dynamisk hukommelsesallokering til hypervisoren gennem , som giver dig mulighed for at reducere den oprindelige størrelse af hypervisoren og optimalt skalere afhængigt af antallet af CPU-kerner;
- Et nyt byggesystem baseret på CMake, uafhængigt af kommandofortolkeren, giver mulighed for betydelig acceleration af hypervisorkompilering og forenkler fremtidig understøttelse af yderligere arkitekturer, såsom ARM;
- Koden er blevet omorganiseret, og kildeteksternes struktur er blevet forenklet. Forbedret support til relaterede projekter såsom hyperkernel uden behov for kodeduplikering. Mere eksplicit adskilt kode , slappe af bibliotek, runtime, kontrolværktøjer, bootloader og SDK;
- Det meste af API'en, i stedet for de tidligere brugte arvemekanismer i C++, er blevet skiftet til at bruge , som forenklede API'et, øgede ydeevnen og reducerede ressourceforbruget.
Kilde: opennet.ru
