a hipervizor kiadása , amely gyors fejlesztési eszközöket biztosít speciális hipervizorokhoz. A Bareflank C++ nyelven íródott, támogatja a C++ STL-t. A Bareflank moduláris architektúrája lehetővé teszi a meglévő hipervizor funkcióinak könnyű bővítését és saját hipervizor verziók létrehozását, amelyek működhetnek hardver fölött (mint a Xen) vagy futtathatók meglévő szoftver környezetben (mint a VirtualBox). Továbbá, lehetőség van a hoszt környezet operációs rendszerének futtatására egy külön virtuális gépben. A projekt kódja LGPL 2.1 licenc alatt érhető el.
A Bareflank támogatja a Linux, Windows és UEFI rendszereket 64 bites Intel CPU-kon. A virtuális gépek erőforrásainak hardveres elkülönítéséhez az Intel VT-x technológiát alkalmazzák. A jövőben tervezik a macOS és BSD rendszerek támogatását, valamint ARM64 és AMD platformokon való működés lehetőségét. Továbbá, a projekthez egy saját VMM (Virtuális Gépek Menedzsere) betöltő drivert, ELF betöltőt a VVM modulok betöltéséhez, és egy bfm nevű alkalmazást fejlesztenek a hipervizor felhasználói térből történő kezelésére. Eszközöket biztosítanak kiterjesztések írásához, a C++11/14 specifikációkban meghatározott elemek felhasználásával, egy kivételkezeléshez szükséges letekerő könyvtárat (unwind), valamint egy saját runtime könyvtárat a konstruktorok/destruktorok alkalmazásának és a kivételkezelők regisztrálásának támogatásához.
A Bareflank alapjain virtuálisizáló rendszert fejlesztenek , amely támogatja a vendég rendszerek indítását, és lehetővé teszi, hogy könnyű virtuális gépeket használjunk Linux és Unikernel környezetben, hogy speciális szolgáltatásokat vagy alkalmazásokat indítsunk. Izolált szolgáltatásként futtathatók mindennapi webszolgáltatások, valamint olyan alkalmazások, amelyek különös megbízhatósági és biztonsági követelményeknek kell megfelelniük, mindezt a hoszt környezet hatásától mentesen (a hoszt környezetet egy külön virtuális gép izolálja).
A Bareflank 2.0 fő újdonságai:
- Hozzáadva a Bareflank közvetlen indításának támogatása az UEFI-ből, a következő virtuális gépben történő operációs rendszer végrehajtása érdekében;
- Megvalósult egy új memória kezelő, amely a Linux SLAB/Buddy memória kezelői alapján lett tervezve. Az új memória kezelő csökkenti a fragmentációt, lehetővé teszi a magasabb teljesítmény elérését és támogatja a memória dinamikus allokálását a hypervisor számára , ami lehetővé teszi a hypervisor kezdeti méretének csökkentését és az optimális skálázódást a CPU magok számának függvényében;
- Új, CMake alapú build rendszer, amely független a parancssori értelmezőtől, jelentős gyorsulást eredményez a hypervisor fordításában, és megkönnyíti a további architektúrák, például az ARM támogatását a jövőben;
- A kód átszervezésre került, és az eredeti szövegek struktúrája egyszerűsödött. Javult a kapcsolódó projektek, mint például a hyperkernel támogatása, anélkül, hogy kódduplikálásra lenne szükség. A kód észlelhetőbben eltávolításra került , unwind könyvtár, runtime, vezérlő eszköz, betöltő és SDK;
- Az API többsége, a korábban alkalmazott C++ öröklési mechanizmusok helyett, delegálásra lett átállítva , ami lehetővé tette az API egyszerűsítését, a teljesítmény növelését és az erőforrás-fogyasztás csökkentését.
Forrás: opennet.ru
