Izdaja hipervizorja Bareflank 3.0

Izdan je bil hipervizor Bareflank 3.0, ki zagotavlja orodja za hiter razvoj specializiranih hipervizorjev. Bareflank je napisan v C++ in podpira C++ STL. Modularna arhitektura Bareflank vam bo omogočila preprosto razširitev obstoječih zmogljivosti hipervizorja in ustvarjanje lastnih različic hipervizorjev, ki delujejo na vrhu strojne opreme (kot je Xen) in delujejo v obstoječem programskem okolju (kot je VirtualBox). Operacijski sistem gostiteljskega okolja je mogoče zagnati v ločenem virtualnem stroju. Projektna koda se distribuira pod licenco LGPL 2.1.

Bareflank podpira Linux, Windows in UEFI na 64-bitnih procesorjih Intel in AMD. Tehnologija Intel VT-x se uporablja za strojno deljenje virov virtualnega stroja. V prihodnosti je predvidena podpora za sisteme macOS in BSD ter možnost dela na platformi ARM64. Poleg tega projekt razvija lasten gonilnik za nalaganje VMM (Virtual Machine Manager), nalagalnik ELF za nalaganje modulov VVM in aplikacijo bfm za nadzor nad hipervizorjem iz uporabniškega prostora. Zagotavlja orodja za pisanje razširitev z uporabo elementov, opredeljenih v specifikacijah C++11/14, knjižnico za odvijanje sklada izjem (unwind), kot tudi lastno knjižnico izvajalnega okolja za podporo uporabi konstruktorjev/destruktorjev in registracijo obdelovalcev izjem.

Na podlagi Bareflanka se razvija virtualizacijski sistem Boxy, ki podpira delovanje gostujočih sistemov in omogoča uporabo lahkih virtualnih strojev z Linuxom in Unikernelom za izvajanje specializiranih storitev ali aplikacij. V obliki izoliranih storitev lahko izvajate tako običajne spletne storitve kot aplikacije, ki imajo posebne zahteve glede zanesljivosti in varnosti, brez vpliva gostiteljskega okolja (gostiteljsko okolje je izolirano v ločenem virtualnem stroju). Bareflank je tudi osnova hipervizorja MicroV, zasnovanega za zagon minimalističnih virtualnih strojev (navidezni stroj z eno aplikacijo), implementira KVM API in je primeren za ustvarjanje kritičnih sistemov.

Glavne novosti Bareflank 3.0:

  • Prehod na uporabo koncepta mikrojedra. Prej je imel hipervizor monolitno arhitekturo, v kateri je bilo za razširitev funkcionalnosti potrebno uporabiti poseben API za registracijo povratnih klicev, kar je oteževalo razvoj razširitev zaradi vezave na jezik C++ in notranjo strukturo. Nova arhitektura, ki temelji na mikrojedru, vključuje razdelitev hipervizorja na komponente jedra, ki delujejo na obroču nič zaščite, in razširitve, ki se izvajajo na obroču tri (uporabniški prostor). Oba dela delujeta v korenskem načinu VMX, vse ostalo, vključno z gostiteljskim okoljem, pa v nekorenskem načinu VMX. Razširitve uporabniškega prostora izvajajo funkcionalnost Virtual Machine Manager (VMM) in komunicirajo z jedrom hipervizorja prek sistemskih klicev, ki so združljivi s prejšnjimi različicami. Razširitve je mogoče ustvariti v katerem koli programskem jeziku, vključno z Rust.
  • Izveden je bil prehod na uporabo lastne knjižnice BSL s podporo za Rust in C++, ki je nadomestila zunanji knjižnici libc++ in newlib. Z odpravo zunanjih odvisnosti Bareflank zagotavlja izvorno podporo za prevajanje sistema Windows za poenostavitev razvoja na tej platformi.
  • Dodana podpora za procesorje AMD. Poleg tega se razvoj Bareflank zdaj izvaja na sistemu s procesorjem AMD in šele nato prenese na procesor Intel.
  • Zagonski nalagalnik ima dodano podporo za arhitekturo ARMv8, prilagoditev hipervizorja za katero bo končana v eni od naslednjih izdaj.
  • Zagotovljena skladnost z zahtevami za razvoj kritičnih sistemov, ki sta jih oblikovali organizaciji AUTOSAR in MISRA.

Vir: opennet.ru

Dodaj komentar