Ilma on saanud Bareflank 3.0 hüperviisori väljalaskmine, mis pakub tööriistu spetsialiseeritud hüperviisorite kiireks arendamiseks. Bareflank on kirjutatud C++ keeles ja toetab C++ STL-i. Bareflanki modulaarne arhitektuur võimaldab kergesti laiendada olemasolevaid hüperviisori võimalusi ja luua oma hüperviisori variandid, mis töötavad nii riistvara peal (nagu Xen) kui ka olemasolevas tarkvarakeskkonnas (nagu VirtualBox). On olemas võimalus käivitada host-keskkonna operatsioonisüsteem eraldi virtuaalses masinas. Projekti kood levib LGPL 2.1 litsentsi all.
Bareflank toetab Linuxit, Windowsit ja UEFI 64-bitistel Intel ja AMD protsessoritel. Rikkalike ressursside eraldamiseks virtuaalmasinate kasutatakse Intel VT-x tehnoloogiat. Tulevikuplaanides on macOS ja BSD-süsteemide toetamist ning ARM64 platvormil töötamise võimalus. Projekt arendab ka oma VMM-i (Virtuaalmootori Halduse) laadijad, ELF-laadijat VVM-i moodulite laadimiseks, bfm rakendust hüperviisori haldamiseks kasutajaruumi. Pakutakse tööriistu laiendite kirjutamiseks, kasutades C++11/14 spetsifikatsioonides määratletud elemente, eraldi veast tekkinud virna avamise (unwind) teeki, samuti oma runtime-teeki, et toetada konstruktorite/detuktorite kasutamist ja erandite käsitlejate registreerimist.
Bareflanki baasil on arendamisel Boxy virtualiseerimissüsteem, mis toetab külgsete süsteemide käivitamist ja võimaldab kasutada kergeid virtuaalseid masinaid Linuxi ja Unikerneliga spetsialiseeritud teenuste või rakenduste käivitamiseks. Isolatsiooniteenustena saab käivitada nii tavalisi veebiteenuseid kui ka rakendusi, millele esitatakse erilisi nõudeid usaldusväärsuse ja turvalisuse osas, desinfitseerituna host-keskkonna mõjust (host-keskkond on isoleeritud eraldi virtuaalses masinas). Bareflank on samuti aluseks MicroV hüperviisorile, mis on mõeldud minimalistlike virtuaalmasinate käitamiseks (virtuiaalmasin ühe rakenduse), mis rakendab KVM API-d ja sobib kriitiliselt oluliste süsteemide loomiseks.
Bareflank 3.0 peamised uuendused:
- Üleminek mikrokernelide konseptsiooni kasutamisele. Varasemalt oli hüpervisoril monoliitne arhitektuur, kus funktsionaalsuse laiendamiseks tuli kasutada spetsiaalset API-d callback-kutsungite registreerimiseks, mis raskendas laienduste arendamist C++ keele ja sisemise struktuuri tõttu. Uus arhitektuur, mis põhineb mikrokernelil, eeldab hüpervisori jagamist tuuma komponentideks, mis töötavad nullkaitserõngas, ja laiendusteks, mis töötavad kolmandas rõngas (kasutajaruumi). Mõlemad osad töötavad VMX-i juuretasemel, samas kui kõik muu, sealhulgas host-keskkond, on VMX-i mitte-juuretasemel. Kasutajaruumi laiendused реализуют virtuaalmasinate halduri (VMM) funktsioonid ja suhtlevad hüpervisori tuumaga süsteemikõnede kaudu, mille jaoks tagatakse tagurpidi ühilduvus. Laiendusi saab luua mis tahes programmeerimiskeeles, sealhulgas on toetatud Rusti keele kasutamine.
- Üleminek oma BSL raamistikule, mis toetab Rusti ja C++ keeli, on ellu viidud, asendades välised raamatukogud libc++ ja newlib. Väliste sõltuvuste kõrvaldamine on võimaldanud Bareflankis rakendada natiivset Windowsi koostamise tuge, et lihtsustada arendust sellel platvormil.
- Lisatud on AMD protsessorite tugi. Ühtlasi toimub Bareflanki arendus nüüd AMD protsessoriga süsteemis ja seejärel portitatakse Intel CPU-le.
- Alglaadurisse on lisatud ARMv8 arhitektuuri tugi, mille jaoks hüpervisori kohandamine viiakse lõpule ühe järgmistest väljaannetest.
- Tagatud on vastavus kriitiliste süsteemide arendamise nõuetele, mille on sõnastanud organisatsioonid AUTOSAR ja MISRA.
Allikas: opennet.ru
