Lirimi i hipervizorit Bareflank 3.0

Hipervizori Bareflank 3.0 u lëshua, duke ofruar 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 do t'ju lejojë të zgjeroni lehtësisht aftësitë ekzistuese të hipervizorit dhe të krijoni versionet tuaja të hipervizorëve, të dyja që funksionojnë në krye të harduerit (si Xen) dhe funksionojnë në një mjedis ekzistues softuerësh (si VirtualBox). Është e mundur të ekzekutohet sistemi operativ i mjedisit pritës në një makinë virtuale të veçantë. Kodi i projektit shpërndahet nën licencën LGPL 2.1.

Bareflank mbështet Linux, Windows dhe UEFI në CPU 64-bit Intel dhe AMD. Teknologjia Intel VT-x përdoret për ndarjen e harduerit të burimeve të makinës virtuale. Mbështetja për sistemet macOS dhe BSD është planifikuar për të ardhmen, si dhe aftësia për të punuar në platformën ARM64. Për më tepër, projekti po zhvillon drejtuesin e tij për ngarkimin e VMM (Menaxheri i makinës virtuale), një ngarkues ELF për ngarkimin e moduleve VVM dhe një aplikacion bfm për kontrollimin e hipervizorit nga hapësira e përdoruesit. Ai siguron vegla për shkrimin e shtesave duke përdorur elementë të përcaktuar në specifikimet C++11/14, një bibliotekë për zbërthimin e grupit të përjashtimeve (unwind), si dhe bibliotekën e vet të ekzekutimit për të mbështetur përdorimin e konstruktorëve/destruktorëve dhe regjistrimin e mbajtësve të përjashtimeve.

Bazuar në Bareflank, po zhvillohet sistemi i virtualizimit Boxy, i cili mbështet funksionimin e sistemeve të ftuar 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, ju mund të ekzekutoni si shërbime të rregullta në internet ashtu edhe aplikacione që kanë kërkesa të veçanta për besueshmërinë dhe sigurinë, pa ndikimin e mjedisit pritës (mjedisi pritës është i izoluar në një makinë virtuale të veçantë). Bareflank është gjithashtu baza e hipervizorit MicroV, i projektuar për të ekzekutuar makina virtuale minimaliste (makinë virtuale me një aplikacion), zbaton KVM API dhe është i përshtatshëm për krijimin e sistemeve kritike për misionin.

Risitë kryesore të Bareflank 3.0:

  • Kalimi në përdorimin e konceptit të mikrokernelit. Më parë, hipervizori kishte një arkitekturë monolitike, në të cilën, për të zgjeruar funksionalitetin, ishte e nevojshme të përdorej një API special për regjistrimin e thirrjeve kthyese, gjë që e bënte të vështirë zhvillimin e shtesave për shkak të lidhjes me gjuhën C++ dhe strukturën e brendshme. Arkitektura e re e bazuar në mikrokernel përfshin ndarjen e hipervizorit në komponentë të kernelit që funksionojnë në unazën zero të mbrojtjes dhe zgjerime që funksionojnë në unazën tre (hapësira e përdoruesit). Të dyja pjesët funksionojnë në modalitetin rrënjë VMX dhe gjithçka tjetër, duke përfshirë mjedisin pritës, funksionon në modalitetin jo-root VMX. Shtesat e hapësirës së përdoruesit zbatojnë funksionalitetin e Menaxherit të Makinerisë Virtuale (VMM) dhe ndërveprojnë me bërthamën e hipervizorit përmes thirrjeve të sistemit që janë të pajtueshme me prapavijën. Shtesat mund të krijohen në çdo gjuhë programimi, duke përfshirë Rust.
  • U bë një kalim në përdorimin e bibliotekës sonë BSL me mbështetje për Rust dhe C++, të cilat zëvendësuan bibliotekat e jashtme libc++ dhe newlib. Duke eliminuar varësitë e jashtme, Bareflank ofron mbështetje origjinale të përpilimit të Windows për të thjeshtuar zhvillimin në atë platformë.
  • Mbështetje e shtuar për procesorët AMD. Për më tepër, zhvillimi i Bareflank tani kryhet në një sistem me një CPU AMD dhe vetëm më pas transferohet në një CPU Intel.
  • Bootloader ka shtuar mbështetje për arkitekturën ARMv8, përshtatja e hipervizorit për të cilin do të përfundojë në një nga versionet e ardhshme.
  • Siguroi përputhje me kërkesat për zhvillimin e sistemeve kritike të formuluara nga organizatat AUTOSAR dhe MISRA.

Burimi: opennet.ru

Shto një koment