代码越少,越实时、越可信——Jailhouse 官方设计宣言译读

Jiaming
领域专家: 操作系统技术领域
2026-09-25 21:20:05

Hypervisor [Jailhouse]

The overall design target is simplicity. As little code as possible should be used in order to fulfill the two most important requirements for Jailhouse: Realtime capability and certifiability (verifiability).
整体设计目标是简洁。应以尽可能少的代码,来满足 Jailhouse 最重要的两个需求——实时性(Realtime capability)与可认证性/可验证性(certifiability / verifiability)。

两个关键词的语境含义:

  • 简洁 = 少代码:这是 Jailhouse 区别于 KVM/Xen 等大型 hypervisor 的核心哲学。代码量越小,需要审查和验证的面就越小。Jailhouse 核心只有一万多行 C,Xen 是几十万行级别。
  • 可认证性(certifiability)​:指能通过功能安全认证(如 ISO 26262 汽车、IEC 61508 工业、DO-178C 航空)。认证成本与代码量近似成正比——十几万行的系统做认证基本不现实,小而精的才有机会。所以这里 certifiability 和括号里的 verifiability(可验证性,即通过形式化方法或人工审查证明其正确性)是一体的。

一句话概括:代码越少,越实时、越可信。

Therefore, Jailhouse is a type 1 hypervisor. The first initialization of the hardware is done by Linux, so the hypervisor can remain extremely lean. Right from the beginning, a large number of supported (and supportable) hardware is therefore available. And it should become an open source solution (GPLv2), so that it is visible for everyone what is done and how it is done.
因此,Jailhouse 是一个 Type 1(裸金属型)hypervisor。硬件的首次初始化由 Linux 完成,这样 hypervisor 本身可以保持极其精简。也正因如此,从项目伊始,大量已支持(以及可支持)的硬件就已可供使用。此外,它应成为开源方案(GPLv2),让每个人都能看清它做了什么、以及是如何做到的。

几个要点展开:

  • Type 1 hypervisor:直接运行在裸机硬件上(bare-metal),不依赖宿主操作系统。Jailhouse 的特别之处在于走了一条「混合启动」路线——先用 Linux 把内存、CPU 核、中断控制器、设备树等全部初始化好,然后通过 jailhouse enable 把 Linux 本身「降级」为 root cell,hypervisor 才接管系统。借 Linux 初始化的精妙之处:编写 hypervisor 最繁重的工作就是硬件初始化(内存管理、时钟、中断)。Jailhouse 把这坨活全部甩给成熟的 Linux 内核,自己只在静态分区(static partitioning)的核心逻辑上保持精简——这正是上一句「少代码」哲学的实现手段。
  • 硬件支持面:因为初始化由 Linux 做,理论上「Linux 能跑的板子,Jailhouse 就大概率能移植」——这也是为什么社区移植遍及 x86、ARM、RISC-V。
  • GPLv2 的深意:与「可认证性」呼应——开源 + 代码精简 = 任何认证机构或安全工程师都能完整审计。闭源黑盒在安全关键领域寸步难行。

这两段连起来就是 Jailhouse 的设计宣言:借力 Linux 起步、保持自身极简、开源接受检验。

Jailhouse therefore permits solutions, which were previously distributed across different computers/ controllers, to be combined and run on a homogeneous or heterogeneous multi-core CPU. Thanks to the ability to support different operating systems, the applications often need not be changed.
In the context of security, it ist also interesting to think about the combination of Trusted Platform Module (TPM) or TrustedZone (TZ), Trusted Execution Environment (TEE) and hypervisor.
因此,Jailhouse 允许把原先分散在不同计算机/控制器上的解决方案,整合到同构或异构多核 CPU 上运行。得益于对多种操作系统的支持,应用程序通常无需修改。
在安全领域,将可信平台模块(TPM)、TrustZone(TZ)、可信执行环境(TEE)与 hypervisor 相结合,同样是一个值得探索的方向。

要点解读:

  • 「整合分散的控制器」是 Jailhouse 的典型应用叙事:传统嵌入式方案里,实时控制(跑 RTOS 的 MCU)和人机界面/网络通信(跑 Linux 的 CPU)是两颗芯片、两条总线。Jailhouse 让一颗异构 SoC 静态分区后同时干这两件事——大核一块跑 Linux、一块跑 RTOS 或裸机实时任务——省掉芯片间的通信链路,也省 BOM 成本。
  • 「应用通常无需修改」:因为非实时 cell 里跑的就是标准 Linux,实时 cell 里跑标准 RTOS/裸机程序,分区只是资源划分层面的改动,应用层无感——这是对甲方最有说服力的迁移成本论证。
  • TrustZone 是硬件层隔离(Secure/Non-secure 世界);
  • TEE(如 OP-TEE)是构建在 TrustZone 之上的安全 OS;
  • TPM 是独立的安全芯片;
  • Jailhouse 补上的是「非安全世界内部的强隔离」这一层。
...全文
70 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24

社区成员

发帖
与我相关
我的任务
社区描述
Jailhouse是一个Siemens 在 GPLv2 协议下发布的针对工业级应用程序的小型分区型 Hypervisor,本社区旨在提供Jailhouse相关知识分享/帮助,欢迎加入!
车载系统嵌入式硬件linux 技术论坛(原bbs) 甘肃省·兰州市
社区管理员
  • Jia ming
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

尊敬的Jailhouse社区/论坛成员:

Jailhouse Hypervisor 是一款非常优秀且广泛使用的工具,它能够帮助用户实现对虚拟机的精细化管理和便捷操作。我们相信,在这个社区/论坛上,我们能够一起分享 Jailhouse 的使用经验和技巧,相互学习和提高。

以下是一些我们希望在这个社区/论坛上看到的内容:

  1. 内容分享。您可以分享您在Jailhouse中使用到的有趣功能、技巧或者经验,以及您对Jailhouse的看法和想法等;您可以在这里谈论Jailhouse相关的技术问题,例如虚拟机管理程序的工作原理、性能优化、安全性等;您可以在这里分享Jailhouse的使用教程、脚本和插件等。
  2. 问题求助及意见建议。如果您遇到了Jailhouse相关的问题,您可以在这里寻求帮助和解决方案。
  3. 社区活动。您可以在这里组织与Jailhouse相关的活动,例如线下聚会、技术交流会等。

我们希望这个社区/论坛能够成为大家交流和学习的平台,共同推动Jailhouse技术的发展和进步。如果您有任何建议或者意见,欢迎随时联系我们 — Jiaming。

谢谢!

试试用AI创作助手写篇文章吧