Siemens az ingyenes hipervizor kiadását . A hipervizor x86_64 rendszereken VMX+EPT vagy SVM+NPT (AMD-V) kiterjesztésekkel, valamint ARMv7 és ARMv8/ARM64 processzorokon is működik, amelyek virtualizálásra szolgáló kiterjesztésekkel vannak ellátva. Külön a Jailhouse hipervizorhoz készült képgenerátor, amely Debian csomagok alapján készült, a támogatott eszközök számára. A projekt kódja GPLv2 licenc alatt.
A hipervizor Linux kernel moduljaként valósul meg, és kernel szintű virtualizációt biztosít. A vendég rendszerekhez szükséges komponensek már szerepelnek a Linux alap kernelében. Az izoláció kezelésére a modern CPU-k által biztosított hardveres virtualizáló mechanizmusokat használják. A Jailhouse megkülönböztető jellemzői közé tartozik a könnyű megvalósítás és a virtuális gépek fix CPU-ra, RAM területre és hardveres eszközökre való kötődése. Ez a megközelítés lehetővé teszi, hogy egy fizikai többprocesszoros szerveren több független virtuális környezet működjön, mindegyik fixen hozzákapcsolva a saját CPU magjához.
A CPU-hoz való szoros kötődés mellett a hipervizor működése során fellépő költségek minimálisra csökkenthetők, így a megvalósítása is jelentősen egyszerűsödik, mivel nem szükséges összetett erőforrás-elosztó ütemezőt futtatni — egy külön CPU mag hozzárendelése garantálja, hogy az adott CPU-n más feladatok ne fussanak. Ennek az megközelítésnek az előnye, hogy garantált hozzáférést biztosít az erőforrásokhoz és előre látható teljesítményt, ami a Jailhouse-t megfelelő megoldássá teszi valós idejű feladatok létrehozásához. A hátránya a korlátozott skálázhatóság, amely a CPU magok számában ütközik.
A Jailhouse terminológiájában a virtuális környezeteket „kameráknak” (cell, a jailhouse kontextusában) nevezik. A kamerán belül a rendszer egy egymagos kiszolgálóként viselkedik, amely a teljesítményét mutatja a dedikált CPU mag teljesítményéhez. A kamerában bármilyen operációs rendszer környezete futtatható, valamint korlátozott környezetek egyetlen alkalmazás futtatására vagy külön, valós idejű feladatok megoldására tervezett alkalmazásokhoz. A konfiguráció a , amelyek meghatározzák a környezetben kijelölt CPU, memória régiókat és bemeneti/kimeneti portokat.

Az új kiadásban
- Hozzáadva a Raspberry Pi 4 Model B és a Texas Instruments J721E-EVM platformok támogatása;
- ivshmem eszköz, amelyet a cellák közötti interakciós kapcsolat létrehozására használnak. Az új ivshmem fölött VIRTIO szállítást lehet megvalósítani;
- Lehetőség van a nagy memóriaoldalak (hugepage) létrehozásának letiltására az Intel processzorokban lévő sebezhetőség blokkolása érdekében, amely lehetővé teszi a nem privilégizált támadó számára, hogy szolgáltatásmegtagadást kezdeményezzen, ami a rendszer felfüggesztéséhez vezet a 'Machine Check Error' állapotában;
- ARM64 processzorokkal rendelkező rendszerekben megvalósult az SMMUv3 (System Memory Management Unit) és a TI PVU (Peripheral Virtualization Unit) támogatása. A hardveren futó izolált környezetek számára (bare-metal) PCI támogatás került hozzáadásra;
- x86 rendszereken a gyökérkamrák számára megvalósították az Intel processzorok által biztosított CR4.UMIP (User-Mode Instruction Prevention) üzemmód engedélyezésének lehetőségét, amely megtiltja bizonyos utasítások, mint például SGDT, SLDT, SIDT, SMSW és STR végrehajtását a felhasználói térben, amelyek a rendszer privilégiumainak növelésére irányuló támadásokban alkalmazhatók.
Forrás: opennet.ru
