Lëshimi i hipervizorit Bareflank 3.0, i cili ofron një kit i mjeteve për zhvillimin e shpejtë të hipervizorëve të specializuar. Bareflank është shkruar në gjuhën C++, mbështet C++ STL. Arkitektura modulare e Bareflank lejon lehtësisht zgjerimin e mundësive ekzistuese të hipervizorit dhe krijimin e varianteve të tij, si ato që punojnë mbi hardware (si Xen), ashtu edhe ato që bëjnë punë në një ambient programor ekzistues (si VirtualBox). Ka mundësinë e ekzekutimit të sistemit të operimit të ambientit host në një makinë virtuale të veçantë. Kodi i projektit është i shpërndarë nën licencën LGPL 2.1.
Në Bareflank është implementuar mbështetje për Linux, Windows dhe UEFI mbi CPU të 64-bit Intel dhe AMD. Për ndarjen harduerike të burimeve makinat virtuale përdoret teknologjia Intel VT-x. Për të ardhmen, është planifikuar mbështetje për macOS dhe sistemet BSD, si dhe mundësia e operimit në platformën ARM64. Për më tepër, projekti po zhvillon një drejtues të vetin për ngarkimin e VMM (Virtual Machine Manager), një ngarkues ELF për ngarkimin e moduleve VVM, një aplikacion bfm për menaxhimin e hipervizorit nga hapësira e përdoruesit. Ofron mjete për shkruarjen e zgjerimeve duke përdorur elementë të përcaktuar në specifikimet C++11/14, bibliotekën për rrotullimin e stakut të përjashtimeve (unwind), si dhe një bibliotekë runtime për mbështetje të përdorimit të konstruktorëve/shkatërruesve dhe regjistrimin e menaxherëve të përjashtimeve.
Në bazë të Bareflank po zhvillohet një sistem virtualizimi Boxy, që mbështet ekzekutimin e sistemeve mysafir dhe lejon përdorimin e makinave virtuale të lehta me Linux dhe Unikernel për të ekzekutuar shërbime ose aplikacione të specializuara. Në formën e shërbimeve të izoluara, mund të ekzekutohen si shërbime web normale, ashtu edhe aplikacione me kriteret të veçanta për besueshmëri dhe siguri, të izoluara nga ndikimi i ambientit host (ambienti host izolohet në një makinë virtuale të veçantë). Bareflank gjithashtu është në themel të hipervizorit MicroV, i cili është projektuar për ekzekutimin e makinave virtuale minimaliste (makina virtuale të një aplikacioni), që implementon API KVM dhe është i përshtatshëm për krijimin e sistemeve kritike.
Novitetet kryesore të Bareflank 3.0:
- Kalimi në përdorimin e konceptit të mikro-kërkesës. Më parë, hipervizori kishte një arkitekturë monolitike, ku për të zgjeruar funksionalitetin duhej të përdorej një API të veçantë për regjistrimin e thirrjeve callback, gjë që pengonte zhvillimin e zgjerimeve për shkak të lidhjes me gjuhën C++ dhe strukturën e brendshme. Arkitektura e re e bazuar në mikro-kërkesë nënkupton ndarjen e hipervizorit në komponente bërthamore, që ekzekutohen në ringun e parë të mbrojtjes, dhe zgjerime që ekzekutohen në ringun e tretë (hapësira e përdoruesit). Të dyja pjesët punojnë në modalitetin e rrënjës VMX, ndërsa gjithçka tjetër, përfshirë mjedisin e hostit, në modalitetin jo-rrënjë VMX. Zgjerimet në hapësirën e përdoruesit realizojnë funksionalitetin e menaxherit të makinave virtuale (VMM) dhe bashkëveprojnë me bërthamën e hipervizorit përmes thirrjeve sistemore, për të cilat sigurohet përputhshmëria me versionet e mëparshme. Zgjerimet mund të krijohen në çdo gjuhë programimi, përfshirë përdorimin e gjuhës Rust.
- Përfundoi kalimi në përdorimin e bibliotekës sonë BSL me mbështetje për Rust dhe C++, e cila zuri vendin e biblioteka të jashtme libc++ dhe newlib. Heqja e varësive të jashtme lehtësoi implementimin e mbështetjes native të kompjilimit në Windows për të thjeshtuar zhvillimin në këtë platformë.
- Shtohet mbështetje për procesorët AMD. Më shumë, zhvillimi i Bareflank tani bëhet në një sistem me CPU AMD dhe më pas portoheshin për CPU Intel.
- Në bootloader ë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.
- Sigurohet përputhshmëria me kërkesat për zhvillimin e sistemeve kritikë, të formulua nga organizatat AUTOSAR dhe MISRA.
Burimi: opennet.ru
