Bareflank 2.0 hypervisor udgivelse

tog sted hypervisor frigivelse Bareflank 2.0, 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 distribueret af 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 Æsker, 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 bfdriver, 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 hypervisor, 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 delegation, som forenklede API'et, øgede ydeevnen og reducerede ressourceforbruget.

Kilde: opennet.ru

Tilføj en kommentar