uvedenie hypervízora , poskytujúceho nástroje na rýchly vývoj špecializovaných hypervízorov. Bareflank je napísaný v jazyku C++, podporuje C++ STL. Modulárna architektúra Bareflank umožňuje ľahko rozširovať existujúce možnosti hypervízora a vytvárať vlastné varianty hypervízorov, ktoré môžu bežať na hardvéri (ako Xen) alebo v existujúcom programovom prostredí (ako VirtualBox). Existuje možnosť spustiť operačný systém hostiteľského prostredia v samostatnej virtuálnej stroji. Kód projektu je licencovaný pod LGPL 2.1.
Bareflank podporuje Linux, Windows a UEFI na 64-bitových CPU Intel. Na hardvérové oddelenie zdrojov virtuálnych strojov sa využíva technológia Intel VT-x. V budúcnosti je naplánovaná podpora macOS a BSD systémov, ako aj možnosť prevádzky na platformách ARM64 a AMD. Okrem toho projekt vyvíja vlastný ovládač na načítanie VMM (Virtual Machine Manager), ELF na načítanie modulov VVM, aplikáciu bfm na správu hypervízora z užívateľského priestoru. Poskytuje sa nástroj na písanie rozšírení s použitím prvkov definovaných v špecifikáciách C++11/14, knižnica na spracovanie výnimiek (unwind) a vlastná runtime knižnica na podporu použitia konštruktorov/deštruktorov a registráciu správcov výnimiek.
Na báze Bareflank sa vyvíja systém virtualizácie , podporujúci spúšťanie hosťujúcich systémov a umožňujúci používať ľahké virtuálne stroje s Linuxom a Unikernel na spúšťanie špecializovaných služieb alebo aplikácií. V forme izolovaných služieb je možné vykonávať ako bežné webové služby, tak aj aplikácie, ktoré kladú osobitné požiadavky na spoľahlivosť a bezpečnosť, zbavené vplyvu hostiteľského prostredia (hostiteľské prostredie je izolované v samostatnej virtuálnej stroj).
Hlavné novinky Bareflank 2.0:
- Pridaná podpora spúšťania Bareflank priamo z UEFI na následné vykonanie operačného systému vo virtuálnom stroji;
- Bol nový správca pamäte, navrhnutý na základe správcov pamäte SLAB/Buddy v systéme Linux. Nový správca pamäte vykazuje zníženie fragmentácie, umožňuje dosiahnuť vyšší výkon a podporuje dynamickú alokáciu pamäte hypervízora cez , čo umožňuje zmenšiť počiatočnú veľkosť hypervízora a optimálne škálovať v závislosti od počtu jadier CPU;
- Nový systém zostavovania založený na CMake, nezávislý od príkazového interpretera, ktorý umožňuje podstatné zrýchlenie kompilácie hypervízora a zjednodušuje budúcu podporu ďalších architektúr, ako je ARM;
- Prebehla reorganizácia kódu a zjednodušená štruktúra zdrojových textov. Zlepšila sa podpora príbuzných projektov, ako je hyperkernel, bez nutnosti duplicovať kód. Kód je jasnejšie oddelený , unwind-knižnice, runtime, riadiaceho nástroja, načítača a SDK;
- Veľká časť API bola namiesto predtým používaných mechanizmov dedičstva v C++ prevedená na použitie , čo umožnilo zjednodušiť API, zvýšiť výkon a znížiť spotrebu zdrojov.
Zdroj: opennet.ru
