实时 RT 抢占 vs RTAI vs Xenomai linux

RT preempt vs RTAI vs Xenomai for real-time linux

这三个实时 OS 框架、扩展或补丁的区别、优缺点是什么?

我想测量一个 CPU 时间戳计数器 (TSC),每次发送或接收数据帧或 Wifi 确认帧时的时间(以纳秒为单位)。

我意识到需要三种实时技术中的一种来提高精度并减少由于抢占、中断和上下文更改引起的抖动。

目前,我正在将RTAI应用到内核中。由于编译需要很长时间,我想阅读有关这三个的一些内容。

你能推荐一些文件或解释一下吗?

找到一篇有趣的论文,比较 Xenomai 与 Preempt-RT 与基本 GPIO 测试(与标准内核)。

https://www.osadl.org/fileadmin/dam/rtlws/12/Brown.pdf

Xenomai 的整体性能更好(抖动更少),但使用它会迫使您使用特定的 RTDM api 重新开发自定义驱动程序。另一方面,由于 Preempt RT 不在主线内核中,因此测试较少,您也可能会遇到问题。

(Xenomai3 实际上有两种方法:使用实时微内核来管理实时线程和中断,或者如果您需要较低的性能,则将其与单个 preempt-rt 内核一起使用)

编辑:我重温了 2016 年的那个旧答案,并补充说在 2021 年,Prempt RT 即将集成到主线内核中,不再作为“补丁”存在。