Bareflank 3.0 hypervisorutgivelse

Bareflank 3.0 hypervisor ble utgitt, og 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 lar deg enkelt utvide de eksisterende egenskapene til hypervisoren og lage dine egne versjoner av hypervisorer, både som kjører på toppen av maskinvare (som Xen) og kjører i et eksisterende programvaremiljø (som VirtualBox). Det er mulig å kjøre operativsystemet til vertsmiljøet i en egen virtuell maskin. Prosjektkoden er distribuert under LGPL 2.1-lisensen.

Bareflank støtter Linux, Windows og UEFI på 64-bit Intel- og AMD-prosessorer. Intel VT-x-teknologi brukes til maskinvaredeling av virtuelle maskinressurser. Støtte for macOS- og BSD-systemer er planlagt for fremtiden, samt muligheten til å jobbe på ARM64-plattformen. I tillegg utvikler prosjektet sin egen driver for lasting av VMM (Virtual Machine Manager), en ELF-laster for lasting av VVM-moduler, og en bfm-applikasjon for å kontrollere hypervisoren fra brukerplass. Den gir verktøy for å skrive utvidelser ved å bruke elementer definert i C++11/14-spesifikasjonene, et bibliotek for å avvikle unntaksstakken (avvikle), samt sitt eget kjøretidsbibliotek for å støtte bruken av konstruktører/destruktorer og registrering av unntaksbehandlere.

Basert på Bareflank utvikles Boxy-virtualiseringssystemet, som støtter kjørende gjestesystemer og tillater bruk av lette virtuelle maskiner med Linux og Unikernel for å kjøre spesialiserte tjenester eller applikasjoner. I form av isolerte tjenester kan du kjøre både vanlige webtjenester og applikasjoner som har spesielle krav til pålitelighet og sikkerhet, fri for påvirkning fra vertsmiljøet (vertsmiljøet er isolert i en egen virtuell maskin). Bareflank er også grunnlaget for MicroV hypervisor, designet for å kjøre minimalistiske virtuelle maskiner (virtuell maskin med én applikasjon), implementerer KVM API og er egnet for å lage oppdragskritiske systemer.

De viktigste nyvinningene til Bareflank 3.0:

  • Overgang til å bruke mikrokjernekonseptet. Tidligere hadde hypervisoren en monolitisk arkitektur, der det, for å utvide funksjonaliteten, var nødvendig å bruke en spesiell API for å registrere tilbakeringingsanrop, noe som gjorde det vanskelig å utvikle utvidelser på grunn av bindingen til C++-språket og intern struktur. Den nye mikrokjernebaserte arkitekturen innebærer å dele opp hypervisoren i kjernekomponenter som kjører på ring null av beskyttelse og utvidelser som kjører på ring tre (brukerplass). Begge deler kjører i VMX-rotmodus, og alt annet, inkludert vertsmiljøet, kjører i VMX ikke-rotmodus. Brukerplassutvidelser implementerer Virtual Machine Manager-funksjonalitet (VMM) og samhandler med hypervisor-kjernen gjennom systemanrop som er bakoverkompatible. Utvidelser kan opprettes i alle programmeringsspråk, inkludert Rust.
  • Det ble gjort en overgang til bruk av vårt eget BSL-bibliotek med støtte for Rust og C++, som erstattet de eksterne bibliotekene libc++ og newlib. Ved å eliminere eksterne avhengigheter gir Bareflank innebygd Windows-kompileringsstøtte for å forenkle utviklingen på den plattformen.
  • Lagt til støtte for AMD-prosessorer. Dessuten utføres Bareflank-utviklingen nå på et system med en AMD-prosessor og først deretter portert til en Intel-prosessor.
  • Bootloaderen har lagt til støtte for ARMv8-arkitekturen, og tilpasning av hypervisoren vil bli fullført i en av de neste utgivelsene.
  • Sørget for overholdelse av kravene for utvikling av kritiske systemer formulert av AUTOSAR og MISRA organisasjonene.

Kilde: opennet.ru

Legg til en kommentar