U lançuar versioni 3.0 i hipervizorit Bareflank, që ofron mjete për zhvillimin e shpejtë të hipervizorëve të specializuar. Bareflank është shkruar në C++, dhe mbështet C++ STL. Arkitektura modulare e Bareflank lejon zgjerimin e lehtë të funksionaliteteve ekzistuese të hipervizorit dhe krijimin e varianteve të tij, si ato që funksionojnë mbi pajisjet (si Xen), ashtu edhe ato që operojnë në ambientin programor ekzistues (si VirtualBox). Ekziston mundësia e ekzekutimit të sistemit operativ të mjedisit host në një makinë virtuale të ndarë. Kodi i projektit shpërndahet nën licensën LGPL 2.1.
Në Bareflank është implementuar mbështetje për Linux, Windows dhe UEFI në CPU 64-bit Intel dhe AMD. Për ndarjen e burimeve në mënyrë harduerike makinave virtuale përdoret teknologjia Intel VT-x. Në të ardhmen është planifikuar mbështetje për macOS dhe sistemet BSD, si dhe mundësia për të funksionuar në platformën ARM64. Shtesë, projekti po zhvillon një drejtpërdrejtës të tij për ngarkimin e VMM (Menaxheri i Makinave Virtuale), ngarkuesin ELF për ngarkimin e moduleve VVM, aplikacionin bfm për menaxhimin e hipervizorit nga hapësira e përdoruesit. Ofron mjete për shkruarjen e zgjerimeve duke përdorur elemente të përcaktuara në specifikimet C++11/14, bibliotekën e rrotullimit të përjashtimeve (unwind), si dhe një bibliotekë runtime për mbështetje të përdorimit të konstruktorëve/destroktorëve dhe regjistrimit të menaxhuesve të përjashtimeve.
Në bazë të Bareflank po zhvillohet një sistem virtualizimi Boxy, që mbështet ekzekutimin e sistemeve të ftuara dhe lejon përdorimin e makinave virtuale të lehta me Linux dhe Unikernel për ekzekutimin e shërbimeve ose aplikacioneve të specializuara. Në formë shërbimesh të izoluara mund të ekzekutohen si shërbime normale web ashtu edhe aplikacione që kanë kërkesa të veçanta për besueshmëri dhe siguri, të izoluara nga ndikimi i mjedisit host (mjedisi host izolohet në një makinë virtuale të ndarë). Bareflank gjithashtu shërben si bazë për hipervizorin MicroV, i cili është i destinuar për ekzekutimin e makinave virtuale minimaliste (makinë virtuale të një aplikacioni), që implementon API KVM dhe është i përshtatshëm për krijimin e sistemeve kritike.
Novitetet kryesore në Bareflank 3.0:
- Kalimi në përdorimin e konceptit të mikroproduktit. Më parë, hipervizori kishte një arkitekturë monolite, ku për të zgjeruar funksionalitetin, duhej të përdorej një API të veçantë për regjistrimin e thirrjeve callback, e cila e vështirësonte zhvillimin e zgjatimeve për shkak të lidhjes me gjuhën C++ dhe strukturën e brendshme. Arkitektura e re bazuar në mikroprodukt nënkupton ndarjen e hipervizorit në komponente bërthamash, të cilat ekzekutohen në ringin e parë të mbrojtjes, dhe zgjerime që ekzekutohen në ringin e tretë (hapësirë përdoruesi). Të dyja pjesët punojnë në modalitetin rrënjësor VMX, ndërsa gjithçka tjetër, përfshirë ambientin mik, punon në modalitetin jo rrënjësor VMX. Zgjerimet në hapësirën e përdoruesit realizojnë funksionalitetin e menaxherit të makinave virtuale (VMM) dhe ndërveprojnë me bërthamën e hipervizorit përmes thirrjeve sistemike, për të cilat sigurohet përputhshmëri e prapambetur. Zgjerimet mund të krijohen në çdo gjuhë programimi, përfshirë mbështetje për përdorimin e gjuhës Rust.
- Kalimi është realizuar në përdorimin e bibliotekës së vet BSL me mbështetje për Rust dhe C++, e cila ka zëvendësuar bibliotekat e jashtme libc++ dhe newlib. Heqja dorë nga varësitë e jashtme ka lejuar që të implementohet në Bareflank mbështetje native për kompilim në Windows për të lehtësuar zhvillimin në këtë platformë.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r procesorĂ«t AMD. MĂ« shumĂ« se kaq, zhvillimi i Bareflank tani bĂ«het nĂ« njĂ« sistem me CPU AMD dhe mĂ« pas portoheshin pĂ«r CPU Intel.
- Në ngarkues është shtuar mbështetje për arkitekturën ARMv8, adaptimi i hipervizorit për të cilin do të përfundojë në një nga lëshimet e ardhshme.
- Siguruar përputhshmëria me kërkesat për zhvillim të sistemeve kritike, të formulaura nga organizatat AUTOSAR dhe MISRA.
Burimi: opennet.ru
