Bareflank 3.0 hypervisor kiadás

Megjelent a Bareflank 3.0 hypervisor, amely eszközöket biztosít a speciális hipervizorok gyors fejlesztéséhez. A Bareflank C++ nyelven íródott, és támogatja a C++ STL-t. A Bareflank moduláris architektúrája lehetővé teszi a hypervisor meglévő képességeinek egyszerű bővítését és saját hypervisor-verziók létrehozását, mind hardveren (például Xen), mind meglévő szoftverkörnyezetben (például VirtualBox) futtatva. Lehetőség van a gazdakörnyezet operációs rendszerének futtatására külön virtuális gépen. A projekt kódja az LGPL 2.1 licenc alatt kerül terjesztésre.

A Bareflank támogatja a Linuxot, a Windowst és az UEFI-t a 64 bites Intel és AMD CPU-kon. Az Intel VT-x technológiát a virtuális gép erőforrásainak hardveres megosztására használják. A jövőben a macOS és BSD rendszerek támogatását tervezik, valamint az ARM64 platformon való működést. Ezenkívül a projekt saját illesztőprogramot fejleszt a VMM (Virtual Machine Manager) betöltéséhez, egy ELF betöltőt a VVM modulok betöltéséhez, valamint egy bfm alkalmazást a hypervisor felhasználói térből történő vezérléséhez. Eszközöket biztosít a bővítmények írásához a C++11/14 specifikációkban definiált elemek használatával, egy könyvtárat a kivételverem letekeréséhez (unwind), valamint saját futásidejű könyvtárat biztosít a konstruktorok/destruktorok használatának támogatására és a kivételkezelők regisztrálására.

A Bareflank alapján készül a Boxy virtualizációs rendszer, amely támogatja a vendégrendszerek futtatását, és lehetővé teszi a könnyű virtuális gépek használatát Linux és Unikernellel speciális szolgáltatások vagy alkalmazások futtatására. Izolált szolgáltatások formájában a gazdakörnyezet befolyásától mentesen futtathat normál webszolgáltatásokat és speciális megbízhatósági és biztonsági követelményeket támasztó alkalmazásokat is (a gazdagép környezet külön virtuális gépben van elszigetelve). A Bareflank az alapja a MicroV hypervisornak is, amely minimalista virtuális gépek (egyalkalmazásos virtuális gépek) futtatására szolgál, implementálja a KVM API-t és alkalmas kritikus fontosságú rendszerek létrehozására.

A Bareflank 3.0 főbb újításai:

  • Áttérés a mikrokernel koncepció használatára. Korábban a hypervisor monolitikus architektúrájú volt, amelyben a funkcionalitás bővítéséhez speciális API-t kellett használni a visszahívások regisztrálásához, ami a C++ nyelvhez való kötődés és a belső struktúra miatt megnehezítette a bővítmények fejlesztését. Az új mikrokernel-alapú architektúra magában foglalja a hypervisor felosztását a nulla védelmi körön futó kernelkomponensekre és a harmadik körön (felhasználói terület) futó bővítményekre. Mindkét rész VMX gyökér módban fut, és minden más, beleértve a gazdagép környezetet is, VMX nem root módban fut. A felhasználói területbővítmények megvalósítják a Virtual Machine Manager (VMM) funkcionalitását, és visszafelé kompatibilis rendszerhívásokon keresztül lépnek kapcsolatba a hypervisor maggal. A bővítmények bármilyen programozási nyelven létrehozhatók, beleértve a Rust-ot is.
  • Átállás történt a saját BSL-könyvtárunk használatára a Rust és a C++ támogatásával, amely felváltotta a külső libc++ és newlib könyvtárakat. A külső függőségek kiküszöbölésével a Bareflank natív Windows-fordítási támogatást biztosít, hogy leegyszerűsítse a fejlesztést ezen a platformon.
  • Hozzáadott támogatás az AMD processzorokhoz. Sőt, a Bareflank fejlesztése most AMD CPU-val rendelkező rendszeren történik, és csak ezután portolják át Intel CPU-ra.
  • A rendszerbetöltő hozzáadta az ARMv8 architektúra támogatását, amelyhez a hypervisor adaptációja a következő kiadások egyikében fog befejeződni.
  • A kritikus rendszerek fejlesztésére vonatkozóan az AUTOSAR és MISRA szervezetek által megfogalmazott követelmények betartásának biztosítása.

Forrás: opennet.ru

Hozzászólás