Vydání hypervizoru Bareflank 3.0

Byl vydán hypervizor Bareflank 3.0, který poskytuje sadu nástrojů pro rychlý vývoj specializovaných hypervizorů. Bareflank je napsán v C++ a podporuje C++ STL. Modulární architektura Bareflanku usnadňuje rozšiřování stávajících možností hypervizoru a vytváření vlastních možností hypervizoru, a to jak běžících nad hardwarem (jako Xen), tak ve stávajícím softwarovém prostředí (jako je VirtualBox). Operační systém hostitelského prostředí je možné provozovat na samostatném virtuálním stroji. Kód projektu je distribuován pod licencí LGPL 2.1.

Bareflank poskytuje podporu pro Linux, Windows a UEFI na 64bitových procesorech Intel a AMD. Technologie Intel VT-x se používá pro hardwarové rozdělení prostředků virtuálních strojů. Do budoucna se počítá s podporou systémů macOS a BSD a také s možností práce na platformě ARM64. Kromě toho projekt vyvíjí svůj vlastní ovladač pro načítání VMM (Virtual Machine Manager), zavaděč ELF pro načítání modulů VVM a aplikaci bfm pro ovládání hypervizoru z uživatelského prostoru. K dispozici je sada nástrojů pro psaní rozšíření pomocí prvků definovaných ve specifikacích C++11/14, knihovna pro odvíjení zásobníku výjimek (unwind) a také vlastní runtime knihovna pro podporu použití konstruktorů/destruktorů a registraci obslužných rutin výjimek.

Na bázi Bareflanku probíhá vývoj virtualizačního systému Boxy, který podporuje spouštění hostujících systémů a umožňuje využití odlehčených virtuálních strojů s Linuxem a Unikernelem pro provoz specializovaných služeb či aplikací. Ve formě izolovaných služeb můžete provozovat jak běžné webové služby, tak aplikace, které mají speciální požadavky na spolehlivost a bezpečnost, bez vlivu hostitelského prostředí (hostitelské prostředí je izolované na samostatném virtuálním stroji). Bareflank je také srdcem hypervizoru MicroV, který je navržen tak, aby provozoval minimalistické virtuální stroje (virtuální stroj s jednou aplikací), který implementuje KVM API a je vhodný pro budování kriticky důležitých systémů.

Hlavní inovace Bareflank 3.0:

  • Přechod k používání konceptu microkernel. Dříve měl hypervizor monolitickou architekturu, ve které bylo pro rozšíření funkčnosti nutné použít speciální API pro registraci zpětných volání, což ztěžovalo vývoj rozšíření kvůli vazbě na jazyk C++ a interny . Nová architektura založená na mikrokernelu rozděluje hypervizor na komponenty jádra běžící na nulovém kruhu ochrany a rozšíření běžící na třetím kruhu (uživatelském prostoru). Obě části běží v režimu VMX root a vše ostatní, včetně hostitelského prostředí, v non-root režimu VMX. Rozšíření uživatelského prostoru implementují funkce Virtual Machine Manager (VMM) a interagují s jádrem hypervizoru prostřednictvím zpětně kompatibilních systémových volání. Rozšíření lze vytvářet v libovolném programovacím jazyce, včetně použití jazyka Rust.
  • Přešli jsme na používání vlastní knihovny BSL s podporou Rust a C++, která nahradila externí knihovny libc++ a newlib. Odstranění externích závislostí umožnilo společnosti Bareflank implementovat nativní podporu kompilace Windows pro zjednodušení vývoje na této platformě.
  • Přidána podpora pro procesory AMD. Navíc vývoj Bareflanku nyní probíhá na systému s CPU AMD a teprve poté je portován na CPU Intel.
  • Do bootloaderu byla přidána podpora pro architekturu ARMv8, pro kterou bude v některém z příštích vydání dokončena adaptace hypervizoru.
  • Dosažení souladu s požadavky na vývoj kritických systémů, formulovanými organizacemi AUTOSAR a MISRA.

Zdroj: opennet.ru

Přidat komentář