Vydanie hypervízora Bareflank 3.0

Bol vydaný hypervízor Bareflank 3.0, ktorý poskytuje nástroje na rýchly vývoj špecializovaných hypervízorov. Bareflank je napísaný v C++ a podporuje C++ STL. Modulárna architektúra Bareflank vám umožní jednoducho rozšíriť existujúce možnosti hypervízora a vytvoriť si vlastné verzie hypervízorov, ktoré bežia nad hardvérom (napríklad Xen) a bežia v existujúcom softvérovom prostredí (napríklad VirtualBox). Operačný systém hostiteľského prostredia je možné spustiť na samostatnom virtuálnom stroji. Kód projektu je distribuovaný pod licenciou LGPL 2.1.

Bareflank podporuje Linux, Windows a UEFI na 64-bitových procesoroch Intel a AMD. Technológia Intel VT-x sa používa na hardvérové ​​zdieľanie prostriedkov virtuálnych strojov. Do budúcnosti sa plánuje podpora systémov macOS a BSD, ako aj možnosť práce na platforme ARM64. Okrem toho projekt vyvíja vlastný ovládač na načítanie VMM (Virtual Machine Manager), zavádzač ELF na načítanie modulov VVM a aplikáciu bfm na ovládanie hypervízora z používateľského priestoru. Poskytuje nástroje na písanie rozšírení pomocou prvkov definovaných v špecifikáciách C++11/14, knižnicu na odvíjanie zásobníka výnimiek (unwind), ako aj vlastnú runtime knižnicu na podporu použitia konštruktorov/deštruktorov a registráciu obslužných programov výnimiek.

Na báze Bareflank je vyvíjaný virtualizačný systém Boxy, ktorý podporuje spustenie hosťujúcich systémov a umožňuje využitie odľahčených virtuálnych strojov s Linuxom a Unikernelom na spustenie špecializovaných služieb alebo aplikácií. Vo forme izolovaných služieb môžete prevádzkovať bežné webové služby aj aplikácie, ktoré majú špeciálne požiadavky na spoľahlivosť a bezpečnosť, bez vplyvu hostiteľského prostredia (hostiteľské prostredie je izolované v samostatnom virtuálnom stroji). Bareflank je tiež základom hypervízora MicroV, ktorý je určený na spustenie minimalistických virtuálnych strojov (virtuálny stroj s jednou aplikáciou), implementuje KVM API a je vhodný na vytváranie kritických systémov.

Hlavné inovácie Bareflank 3.0:

  • Prechod na používanie konceptu mikrojadra. Predtým mal hypervízor monolitickú architektúru, v ktorej bolo pre rozšírenie funkcionality potrebné použiť špeciálne API na registráciu callback volaní, čo sťažovalo vývoj rozšírení kvôli väzbe na jazyk C++ a vnútornú štruktúru. Nová architektúra založená na mikrokerneli zahŕňa rozdelenie hypervízora na komponenty jadra bežiace na kruhu nula ochrany a rozšírenia bežiace na kruhu tri (používateľský priestor). Obe časti bežia v režime VMX root a všetko ostatné, vrátane hostiteľského prostredia, beží v režime VMX non-root. Rozšírenia používateľského priestoru implementujú funkčnosť Virtual Machine Manager (VMM) a interagujú s jadrom hypervízora prostredníctvom systémových volaní, ktoré sú spätne kompatibilné. Rozšírenia môžu byť vytvorené v akomkoľvek programovacom jazyku, vrátane Rust.
  • Prešlo sa na používanie našej vlastnej knižnice BSL s podporou Rust a C++, ktorá nahradila externé knižnice libc++ a newlib. Odstránením externých závislostí poskytuje Bareflank natívnu podporu kompilácie Windows na zjednodušenie vývoja na tejto platforme.
  • Pridaná podpora pre procesory AMD. Okrem toho sa vývoj Bareflank teraz vykonáva na systéme s procesorom AMD a až potom sa prenáša na procesor Intel.
  • Bootloader pridal podporu pre architektúru ARMv8, ktorej prispôsobenie hypervízora bude dokončené v jednom z ďalších vydaní.
  • Zabezpečil súlad s požiadavkami na vývoj kritických systémov formulovanými organizáciami AUTOSAR a MISRA.

Zdroj: opennet.ru

Pridať komentár