Izdanje hipervizora Bareflank 3.0

Objavljen je hipervizor Bareflank 3.0, koji pruža alate za brzi razvoj specijalizovanih hipervizora. Bareflank je napisan na C++ i podržava C++ STL. Modularna arhitektura Bareflanka olakšava proširenje postojećih mogućnosti hipervizora i kreiranje sopstvenih opcija hipervizora, koji rade na hardveru (kao što je Xen) i rade u postojećem softverskom okruženju (kao što je VirtualBox). Moguće je pokrenuti operativni sistem domaćinskog okruženja u zasebnoj virtuelnoj mašini. Šifra projekta se distribuira pod licencom LGPL 2.1.

Bareflank pruža podršku za Linux, Windows i UEFI na 64-bitnim Intel i AMD procesorima. Intel VT-x tehnologija se koristi za hardversko particionisanje resursa virtuelne mašine. U budućnosti se planira podrška za macOS i BSD sisteme, kao i mogućnost rada na ARM64 platformi. Pored toga, projekat razvija sopstveni drajver za učitavanje VMM (Virtual Machine Manager), ELF loader za učitavanje VVM modula i bfm aplikaciju za kontrolu hipervizora iz korisničkog prostora. Obezbeđen je komplet alata za pisanje ekstenzija koristeći elemente definisane u specifikacijama C++11/14, biblioteku za odmotavanje steka izuzetaka (odmotavanje), kao i sopstvenu runtime biblioteku koja podržava upotrebu konstruktora/destruktora i registraciju rukovalaca izuzetkom.

Na bazi Bareflanka u toku je razvoj sistema virtuelizacije Boxy koji podržava pokretanje gostujućih sistema i omogućava korišćenje lakih virtuelnih mašina sa Linuxom i Unikernelom za pokretanje specijalizovanih servisa ili aplikacija. U obliku izolovanih servisa, možete pokrenuti i obične web servise i aplikacije koje imaju posebne zahtjeve za pouzdanost i sigurnost, bez utjecaja domaćinskog okruženja (host okruženje je izolirano u zasebnoj virtuelnoj mašini). Bareflank je takođe u srcu MicroV hipervizora, dizajniranog za pokretanje minimalističkih virtuelnih mašina (virtuelna mašina sa jednom aplikacijom) koja implementira KVM API i pogodna je za izgradnju kritičnih sistema.

Glavne inovacije Bareflanka 3.0:

  • Prelazak na upotrebu koncepta mikrokernela. Ranije je hipervizor imao monolitnu arhitekturu, u kojoj je, kako bi se proširila funkcionalnost, bilo potrebno koristiti poseban API za registraciju povratnih poziva, što je otežavalo razvoj ekstenzija zbog vezanosti za C++ jezik i interne elemente. . Nova arhitektura bazirana na mikrokernelu dijeli hipervizor na komponente kernela koje rade na nultom prstenu zaštite i ekstenzije koje rade na trećem prstenu (korisnički prostor). Oba dijela rade u VMX root modu, a sve ostalo, uključujući okruženje domaćina, u non-root VMX načinu. Proširenja korisničkog prostora implementiraju funkcionalnost Virtual Machine Manager (VMM) i stupaju u interakciju s jezgrom hipervizora kroz sistemske pozive kompatibilne s prethodnim verzijama. Ekstenzije se mogu kreirati u bilo kojem programskom jeziku, uključujući upotrebu Rust jezika.
  • Prešli smo na korištenje vlastite BSL biblioteke s podrškom za Rust i C++, koja je zamijenila eksterne biblioteke libc++ i newlib. Uklanjanje vanjskih ovisnosti omogućilo je Bareflanku da implementira izvornu podršku za Windows kompilaciju kako bi se pojednostavio razvoj na ovoj platformi.
  • Dodata podrška za AMD procesore. Štaviše, razvoj Bareflanka se sada odvija na sistemu sa AMD CPU-om i tek onda portovan na Intel CPU.
  • Podrška za ARMv8 arhitekturu dodata je pokretaču, za koji će adaptacija hipervizora biti završena u jednom od narednih izdanja.
  • Ostvarena usklađenost sa zahtjevima za razvoj kritičnih sistema, koje su formulisale organizacije AUTOSAR i MISRA.

izvor: opennet.ru

Dodajte komentar