1.2 Xenomai社区介绍
1.2.1 社区概况
Xenomai 社区是一个全球性的开源实时操作系统(RTOS)生态圈,致力于为Linux内核提供高精度、低延迟的实时扩展环境,致力于:“让实时性成为Linux世界的一等公民”。它通过**双内核架构(Dual KernelArchitecture)**实现通用Linux与硬实时任务的共存,使得开发者能够在熟悉的 Linux 环境中实现毫秒乃至微妙级的实时响应。
社区由来自工业控制、机器人、自动化、通信、航空航天、汽车电子等领域的开发者、研究机构和企业组成。特别是西门子自2018年以来,长期投入 2~4 名工程师参与主线贡献工作。自2020年,Intel加入Xenomai社区,成为重要贡献者。
-
Philippe Gerum
- 嵌入式领域专家,Xenomai 社区创始人和关键贡献者,是 《构建嵌入式LINUX系统》 一书的作者之一。目前致力于 Xenoami 4 的开发,包括中断管道 Dovetail 项目和实时内核 EVL 项目。
-
Jan Kiszka
- 西门子嵌入式Linux技术中心的首席专家、顾问、开源布道师,是 Xenomai 社区的长期贡献者和主要维护者。目前主要负责 Xenomai 3 的开发和维护,包括新硬件支持、性能优化、bug修复、文档更新等。
Xenomai 社区的网址为 https://xenomai.org/,主页主要展示了 Xenomai 3 、Xenomai 4 、Dovetail 项目的项目链接、最新动态等信息。如需要Xenomai 2.x、I-pipe等项目归档信息,可以访问 https://ftp.denx.de/pub/xenomai/。
Xenomai 社区在 lists.linux.dev 上有活跃的邮件列表,开发者可以通过邮件列表参与讨论、报告问题、请求帮助等。
- 订阅邮件列表:https://subspace.kernel.org/lists.linux.dev.html
- 查看归档邮件:https://lore.kernel.org/xenomai/
Xenomai 社区致力于在全球推广生态建设,多次在 Opensource Summit 、Embeded Linux Conference 等大会做主题演讲。同时,社区特别注重 Xenomai 在中国的发展,从2022年开始,每一年都会在中国举办Xenomai中国大会。
- 2022年,第一届Xenomai中国大会由Intel主办
- 2023年,第二届Xenomai中国大会由Intel和西门子合办
- 2024年,第三届Xenomai中国大会由中科时代主办
- 2025年,第四届Xenomai中国大会由中国计算机学会(CCF)、Xenomai中国社区、华中科技大学网络安全学院主办,CCF开源发展技术委员会、上海交通大学承办
1.2.2 主要项目介绍
Dovetail
https://gitlab.com/Xenomai/linux-dovetail
Dovetail 是 I-pipe 的继任者,可使 EVL 和 Cobalt 等实时内核能够处理具有关键低延迟要求的高优先级任务。Dovetail 在 I-pipe 的基础上,在 Linux 原生中断处理机制的框架下,实现了新的中断管道模型,提供了更加清晰的API,提高了与 Linux 内核的兼容性,便于跟随 Linux 内核的更新。Dovetail 项目支持 Linux 5.10/6.1/6.10等主流内核版本。
Dovetail 和 I-pipe 都是基于中断管道的实时内核补丁,它们的设计思想都源自于Karim Yaghmour的论文《Adaptive Domain Environment for Operating Systems》,简称 ADEOS。
Karim Yaghmour是Opersys公司(http://www.opersys.com)的创始人及总裁。Karim是Linux Trace Toolkit的维护者,也是 《构建嵌入式LINUX系统》 一书的第一作者。Philippe Gerum 参与撰写了《构建嵌入式LINUX系统》第二版的实时Linux章节。
ADEOS提出了Interrupt pipeline中断流水线的方法,可以让硬件中断在多个操作系统域中传递。先拿到中断的操作系统域,意味着有更高的优先级运行。操作系统必须找到一种方式,实现对中断的关闭与打开操作,也称为stall/unstall操作。

Dovetail/I-pipe中实现的ADEOS与原论文中的有不同点:
- 仅支持2个操作系统域:Linux域(root域)和Cobalt域(head域)。
- Linux域和Cobalt域都属于第一类操作系统,感知不到ADEOS的存在,只接收来自ADEOS的中断。Cobalt域优先接收并处理中断。
- 原论文中,以x86架构为例,通过把Linux内核从Ring0移动到Ring1,来完成Linux对中断的关闭(Install)/打开(Unstall)操作。Dovetail/I-pipe采取了另一篇论文《Fast Interrupt Priority Management in OS Kernels》的思想,通过虚拟中断标志来完成Linux对中断的关闭(Install)/打开(Unstall)操作。
Xenomai 3
https://gitlab.com/Xenomai/xenomai3
Xenomai 3 采用协作式的“双内核”架构,通过 I-Pipe / Dovetail 补丁层,实时内核可以拦截中断、实现硬实时响应,从而保障系统的确定性行为。
- Cobalt 核负责高优先级、确定性的实时任务
- Linux 核继续处理普通任务与系统服务
Xenomai 3 提供了统一接口层(Skin),实现了种实时API接口(称为“皮肤”),便于开发者移植或开发实时应用:
- POSIX skin(类 POSIX 接口)
- Native API
- Vxworks,pSOS, VxWorks skin 兼容层
Xenomai 3 提供了 RTDM(Real-Time Driver Model)实时设备驱动模型:
- 解决了如何在实时内核中开发和访问驱动设备
- 提供统一的驱动模型,简化了设备驱动的开发和移植
Xenomai 3 支持多种硬件架构:
- x86/x86_64,支持所有兼容 x86 的 32/64 位处理器类型,从带有时间戳计数器(TSC)的 i586 CPU 开始。
- arm/arm64
- RISC-V,支持工作在进行中
- PowerPC/32仍被支持,但是PowerPC/64已停止支持
具体的 SOC 或 开发板的支持,可以参考网址:https://v3.xenomai.org/hardware/index.html。
Xenomai 3 还提供了从 Xenomai 2.x 迁移到 Xenomai 3 的迁移指南,具体参考网址:https://v3.xenomai.org/legacy/migrating-to-xenomai3/index.html。
Xenomai 4
https://gitlab.com/Xenomai/xenomai4
相比 Xenomai 3,Xenomai 4 包括三个主要改进:
-
伴随实时内核 EVL:EVL 当前仍在开发中,它将在 Xenomai 4 中取代 Cobalt 作为Linux内核的一部分,对时间要求严格的应用程序提供实时服务,而不再像Cobalt那样作为一个完全独立的实时核。
-
EVL 从2019年起开始发展,就是基于 Dovetail。Xenomai 3则经历了一个两个过度版本:
- Xenomai 3.1 与 Xenomai 4 使用共用的通用 Xenomai 平台
- Xenomai 3.2 开始使用Dovetail 补丁(要求Linux版本5.10+)
- Xenomai 3.3 开始只支持 Dovetail,不再支持 I-PIPE
-
除了C语言的实时接口 libevl 库,从2022年开始支持 Rust 语言的实时接口 revl 库。
1.2.3 质量保证
Xenomai 镜像
https://gitlab.com/Xenomai/xenomai-images
Xenomai 提供了 xenomai-image项目来构建适用于 QEMU 和物理设备的可启动镜像,以便进行评估或测试。
xenomai-image项目可以生成适用于QEMU虚拟机和真实目标设备的可启动镜像,用于运行 Xenomai 实时系统,以便进行评估或测试。
Xenomai 测试套件
Xenomai 3 内置了一个测试套件,通过 CI/CD 触发测试,用于保障 Xenomai 3 的基本功能,包括时钟测试、延迟测试等。
LAVA 实验室
Xenomai 项目 维护了一个用于集成测试的 LAVA 实验室。
可以通过遵循 安装说明 创建一个 LAVA 实验室,或者使用 lava-docker 进行更快的设置。
也可以将实验室连接到 lava.xenomai.org。请通过邮件列表与维护者联系,以将新实验室连接到 lava.xenomai.org。
4999

被折叠的 条评论
为什么被折叠?



