Jailhouse je particijski hipervizor s sistemom Linux (Razvit je bil kot brezplačen projekt programske opreme GPLv2). je sposoben zagnati polne aplikacije ali operacijske sisteme (prilagojeno) poleg Linuxa. V ta namen configuracija lastnosti virtualizacije CPU-jev in naprav platforme strojne opreme, tako da nobena od teh domen, imenovanih "celice", ne more medsebojno vplivati na nesprejemljiv način.
To pomeni da Jailhouse ne posnema virov, ki jih nimate. Preprosto deli strojno opremo na izolirane predelke, imenovane "celice" Popolnoma so namenjeni gostujoči programski opremi, imenovani "zaporniki".
O zaporu
Jailhouse je optimiziran za preprostost ne pa bogastvo lastnosti. Za razliko od popolnih hipervizorjev na osnovi Linuxa, kot sta KVM ali Xen, Jailhouse ne podpira pretiranega prevzema virov kot so CPU, RAM ali naprave. Ne izvaja nobenega programiranja in virtualizira samo tiste vire v programski opremi, ki so bistveni za platformo in jih ni mogoče razdeliti na strojno opremo.
Ko je Jailhouse aktiviran, deluje v celoti, kar pomeni, da prevzame popoln nadzor nad strojno opremo in ne zahteva zunanje podpore.
Hipervizor je izveden kot modul za jedro Linuxa in zagotavlja virtualizacijo na ravni jedra. Komponente za goste so že vključene v glavno jedro Linuxa.
Za nadzor izolacije se uporabljajo mehanizmi za virtualizacijo strojne opreme ki jih zagotavljajo sodobni CPU. Značilnosti Jailhousea so lahka izvedba in usmerjenost k povezovanju navideznih strojev s fiksnim procesorjem, območjem RAM-a in napravami strojne opreme. Ta pristop omogoča delovanje več neodvisnih navideznih okolij na fizičnem večprocesorskem strežniku, vsakemu pa je dodeljeno lastno procesorsko jedro.
S tesno povezavo s CPU so splošni stroški operacije hipervizorja zmanjšani in njegova izvedba močno poenostavljena, saj ni treba izvajati zapletenega načrtovalnika dodeljevanja virov - dodelitev ločenega jedra CPU zagotavlja, da ne ta CPU.
Prednost tega pristopa je sposobnost zagotavljanja zajamčenega dostopa do virov in predvidljive zmogljivosti, zaradi česar je Jailhouse primerna rešitev za ustvarjanje nalog v realnem času. Slaba stran je omejena razširljivost, ki temelji na številu procesorskih jeder.
O novi različici Jailhouse 0.12
Trenutno je Jailhouse v svoji različici 0.12 in poudarja podpora za Raspberry Pi 4 Model B in Texas Instruments J721E-EVM.
Poleg naprave ivshmem uporablja za organiziranje interakcije med celicami, je bil preoblikovan in da lahko izvaja tudi prevoz za VIRTIO.
Zmožnost onemogočanja ustvarjanja velikih pomnilniških strani (velika stran) je bila uporabljena za blokiranje ranljivosti CVE-2018-12207 na procesorjih Intel, kar omogoča neprivilegiranemu napadalcu, da sproži zavrnitev storitve, kar vodi do zamrznitve sistema v "Napaka preverjanja stroja" država.
Za sisteme s procesorji ARM64 so podprti SMMUv3 (Enota za upravljanje sistemskega pomnilnika) in TI PVU (enota za periferno virtualizacijo). Za okolja s peskovnikom, ki se izvajajo na vrhu računalnika, je dodana podpora za PCI.
V sistemih x86 je mogoče omogočiti način CR4. (Preprečevanje navodil v uporabniškem načinu), ki ga zagotavljajo procesorji Intel, ki omogoča prepoved izvajanja nekaterih navodil v uporabniškem prostoru, kot so SGDT, SLDT, SIDT, SMSW in STR, ki se lahko uporabljajo v napadih, katerih cilj je povečati privilegije v sistemu .
Pojdi v zapor
Jailhouse podpira delovanje v sistemih x86_64 z razširitvami VMX + EPT ali SVM + NPT (AMD-V), pa tudi na procesorjih ARMv7 in ARMv8 / ARM64 z razširitvami za virtualizacijo.
Pa čeprav poleg tega se razvija tudi generator slik, ki temelji na paketu Debian za združljive naprave.
Tu lahko najdete navodila za sestavljanje in namestitev ter druge informacije V naslednji povezavi.