Bareflank 3.0 hypervisor udgivelse

Bareflank 3.0 hypervisoren er blevet frigivet og giver et værktøjssæt 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 eksisterende hypervisor-kapaciteter og skabe dine egne hypervisor-muligheder, 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. Projektkoden distribueres under LGPL 2.1-licensen.

Bareflank understøtter Linux, Windows og UEFI på 64-bit Intel og AMD CPU'er. Intel VT-x-teknologi bruges til hardwarepartitionering af virtuelle maskinressourcer. Understøttelse af macOS- og BSD-systemer er planlagt i fremtiden, samt muligheden for at arbejde på ARM64-platformen. 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. Et værktøjssæt er tilvejebragt til at skrive udvidelser ved hjælp af elementer defineret i C++11/14-specifikationerne, et undtagelsesstack-afviklingsbibliotek (unwind), såvel som dets eget runtime-bibliotek til at understøtte brugen af ​​konstruktører/destruktorer og registrering af undtagelsesbehandlere.

På basis af Bareflank er udviklingen af ​​Boxy virtualiseringssystemet i gang, som understøtter lanceringen af ​​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 stiller 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). Bareflank er også kernen i MicroV-hypervisoren, designet til at køre minimalistiske virtuelle maskiner (virtuel maskine med enkelt applikation), der implementerer KVM API og er velegnet til at bygge missionskritiske systemer.

De vigtigste nyskabelser i Bareflank 3.0:

  • Overgang til brug af mikrokernekonceptet. Tidligere havde hypervisoren en monolitisk arkitektur, hvor det for at udvide funktionaliteten var nødvendigt at bruge en speciel API til registrering af tilbagekaldskald, hvilket gjorde det vanskeligt at udvikle udvidelser på grund af at være bundet til C++ sproget og interne funktioner. . Den nye mikrokerne-baserede arkitektur opdeler hypervisoren i kernekomponenter, der kører på beskyttelsesnulringen og udvidelser, der kører på den tredje ring (brugerplads). Begge dele kører i VMX-rodtilstand, og alt andet, inklusive værtsmiljøet, i ikke-root-VMX-tilstand. Brugerpladsudvidelser implementerer Virtual Machine Manager-funktionalitet (VMM) og interagerer med hypervisorkernen gennem bagudkompatible systemkald. Udvidelser kan oprettes i ethvert programmeringssprog, inklusive brugen af ​​Rust-sproget.
  • Vi skiftede til at bruge vores eget BSL-bibliotek med understøttelse af Rust og C++, som erstattede de eksterne biblioteker libc++ og newlib. Fjernelse af eksterne afhængigheder gjorde det muligt for Bareflank at implementere native Windows-kompileringsunderstøttelse for at forenkle udviklingen på denne platform.
  • Tilføjet understøttelse af AMD-processorer. Desuden er udviklingen af ​​Bareflank nu udført på et system med en AMD CPU og først derefter porteret til en Intel CPU.
  • Understøttelse af ARMv8-arkitekturen er blevet tilføjet til bootloaderen, hvortil hypervisortilpasning vil blive gennemført i en af ​​de næste udgivelser.
  • Opnået overholdelse af kravene til udvikling af kritiske systemer, formuleret af organisationerne AUTOSAR og MISRA.

Kilde: opennet.ru

Tilføj en kommentar