Jailhouse是基于Linux的分区管理程序 (它是作为免费的GPLv2软件项目开发的)。 它是 能够运行完整的应用程序或操作系统 (适应)以及Linux。 为此,c图显示平台的CPU和设备的虚拟化特性 硬件,因此这些域(称为“单元”)都不会以不可接受的方式相互干扰。
这意味着 监狱监狱不会模拟您没有的资源。 简单地 将硬件分为称为“单元”的隔离隔间 它们完全专用于称为“犯人”的访客软件。
关于监狱
监狱院为简化而优化 而不是功能的丰富性。 与KVM或Xen等功能齐全的基于Linux的虚拟机管理程序不同, 监狱不支持资源超额使用 例如CPU,RAM或设备。 它不执行任何编程,仅虚拟化软件中的那些资源,这对于平台是必不可少的,不能在硬件上进行分区。
一旦启用了Jailhouse,它将完全运行,这意味着它将完全控制硬件,并且不需要外部支持。
虚拟机管理程序被实现为Linux内核的模块 并提供内核级虚拟化。 来宾组件已包含在主Linux内核中。
为了控制隔离,使用了硬件虚拟化机制 由现代CPU提供。 监狱馆的标志是其轻量级的实现 以及将虚拟机链接到固定的CPU,RAM区域和硬件设备的方向。 这种方法允许在物理多处理器服务器上运行几个独立的虚拟环境,每个虚拟环境都分配有自己的处理器核心。
通过与CPU的紧密链接,系统管理程序操作的开销得以最小化,并且其实现得以大大简化,因为无需执行复杂的资源分配调度程序-分配单独的CPU内核可确保它不会在以下情况下执行其他任务:这个CPU。
这种方法的优点是能够提供对资源的保证访问和可预测的性能,从而使Jailhouse成为创建实时任务的合适解决方案。 缺点是可扩展性有限,它基于CPU内核数。
关于新版本的Jailhouse 0.12
目前,Jailhouse的版本为0.12,并且突出显示了 支持Raspberry Pi 4 Model B和Texas Instruments J721E-EVM。
除了ivshmem设备 用于组织细胞之间的相互作用, 经过重新设计,它还可以实现VIRTIO的传输。
已实现禁用大内存页面创建(大页面)的功能,以阻止Intel处理器上的CVE-2018-12207漏洞,从而允许无特权的攻击者发起拒绝服务,从而导致“机器验证错误”中的系统冻结州。
对于具有ARM64处理器的系统,支持SMMUv3 (系统内存管理单元)和TI PVU(外围虚拟化单元)。 对于在计算机顶部运行的沙箱环境,已添加PCI支持。
在x86系统上,可以启用CR4模式。 Intel处理器提供的(用户模式指令防护),它允许禁止在用户空间中执行某些指令,例如SGDT,SLDT,SIDT,SMSW和STR,这些指令可用于旨在提高系统特权的攻击中。
获取监狱
监狱局支持在x86_64系统上的操作 具有VMX + EPT或SVM + NPT(AMD-V)扩展,以及在处理器上 ARMv7和ARMv8 / ARM64 虚拟化扩展。
虽然 此外,正在开发基于Debian软件包的图像生成器,以用于兼容设备。
您可以找到编译和安装说明以及其他信息 在下面的链接中。