Lansarea hypervisorului Bareflank 3.0

A fost lansat hipervizorul Bareflank 3.0, oferind instrumente pentru dezvoltarea rapidă a hipervizoarelor specializate. Bareflank este scris în C++ și acceptă C++ STL. Arhitectura modulară a Bareflank vă va permite să extindeți cu ușurință capacitățile existente ale hipervizorului și să vă creați propriile versiuni de hipervizor, atât rulând pe hardware (cum ar fi Xen), cât și rulând într-un mediu software existent (cum ar fi VirtualBox). Este posibil să rulați sistemul de operare al mediului gazdă într-o mașină virtuală separată. Codul proiectului este distribuit sub licența LGPL 2.1.

Bareflank acceptă Linux, Windows și UEFI pe procesoare Intel și AMD pe 64 de biți. Tehnologia Intel VT-x este utilizată pentru partajarea hardware a resurselor mașinilor virtuale. Suportul pentru sistemele macOS și BSD este planificat pentru viitor, precum și capacitatea de a lucra pe platforma ARM64. În plus, proiectul dezvoltă propriul driver pentru încărcarea VMM (Virtual Machine Manager), un încărcător ELF pentru încărcarea modulelor VVM și o aplicație bfm pentru controlul hypervisorului din spațiul utilizatorului. Oferă instrumente pentru scrierea extensiilor folosind elemente definite în specificațiile C++ 11/14, o bibliotecă pentru desfășurarea stivei de excepții (unwind), precum și propria bibliotecă de rulare pentru a sprijini utilizarea constructorilor/destructorilor și înregistrarea gestionatorilor de excepții.

Bazat pe Bareflank, este în curs de dezvoltare sistemul de virtualizare Boxy, care acceptă sisteme invitate care rulează și permite utilizarea mașinilor virtuale ușoare cu Linux și Unikernel pentru a rula servicii sau aplicații specializate. Sub formă de servicii izolate, puteți rula atât servicii web obișnuite, cât și aplicații care au cerințe speciale de fiabilitate și securitate, fără influența mediului gazdă (mediul gazdă este izolat într-o mașină virtuală separată). Bareflank este, de asemenea, baza hypervisorului MicroV, conceput pentru a rula mașini virtuale minimaliste (mașină virtuală cu o singură aplicație), implementează API-ul KVM și este potrivit pentru crearea de sisteme critice pentru misiune.

Principalele inovații ale Bareflank 3.0:

  • Trecerea la utilizarea conceptului de microkernel. Anterior, hipervizorul avea o arhitectură monolitică, în care, pentru a extinde funcționalitatea, era necesar să se folosească un API special pentru înregistrarea apelurilor de apel invers, ceea ce îngreuna dezvoltarea extensiilor din cauza legăturii cu limbajul C++ și structura internă. Noua arhitectură bazată pe microkernel implică împărțirea hipervizorului în componente ale nucleului care rulează pe inelul zero de protecție și extensii care rulează pe inelul trei (spațiu utilizator). Ambele părți rulează în modul rădăcină VMX și orice altceva, inclusiv mediul gazdă, rulează în modul non-rădăcină VMX. Extensiile de spațiu utilizator implementează funcționalitatea Virtual Machine Manager (VMM) și interacționează cu nucleul hypervisorului prin apeluri de sistem care sunt compatibile cu versiunea inversă. Extensiile pot fi create în orice limbaj de programare, inclusiv Rust.
  • S-a făcut o tranziție către utilizarea propriei biblioteci BSL cu suport pentru Rust și C++, care a înlocuit bibliotecile externe libc++ și newlib. Prin eliminarea dependențelor externe, Bareflank oferă suport nativ de compilare Windows pentru a simplifica dezvoltarea pe platforma respectivă.
  • S-a adăugat suport pentru procesoarele AMD. Mai mult, dezvoltarea Bareflank este acum efectuată pe un sistem cu un procesor AMD și abia apoi portat pe un procesor Intel.
  • Bootloader-ul a adăugat suport pentru arhitectura ARMv8, adaptarea hypervisorului pentru care va fi finalizată într-una dintre următoarele versiuni.
  • Asigurarea conformității cu cerințele pentru dezvoltarea sistemelor critice formulate de organizațiile AUTOSAR și MISRA.

Sursa: opennet.ru

Adauga un comentariu