Real-time extensions
Linux real-time extensions
Three generations
- RTLinux
- RTAI
- Xenomai
A common principle
- Add an extra layer between the hardware and the Linux kernel, to manage real-time tasks separately.
RTLinux
First real-time extension for Linux, created by Victor Yodaiken.
- Nice, but the author filed a software patent covering the addition of real-time support to general operating systems as implemented in RTLinux!
- Its Open Patent License drew many developers away and frightened users. Community projects like RTAI and Xenomai now attract most developers and users.
- February, 2007: RTLinux rights sold to Wind River. Today, no longer advertised by Wind River.
- Project completely dead.
RTAI
https://www.rtai.org/ - Real-Time Application Interface for Linux ▶ Created in 1999, by Prof. Paolo Mantegazza (long time contributor to RTLinux), Dipartimento di Ingegneria Aerospaziale Politecnico di Milano (DIAPM). ▶ Community project. Significant user base. Attracted contributors frustrated by the RTLinux legal issues. ▶ Only really actively maintained on x86 ▶ May offer slightly better latencies than Xenomai, at the expense of a less maintainable and less portable code base ▶ Since RTAI is not really maintained on ARM and other embedded architectures, our presentation is focused on Xenomai.
Xenomai
- Started in 2001 as a project aiming at emulating traditional RTOS.
- Initial goals: facilitate the porting of programs to GNU / Linux.
- Initially related to the RTAI project (as the RTAI/ fusion branch), now independent.
- Skins mimicking the APIs of traditional RTOS such as VxWorks, pSOS+, and VRTXsa as well as the POSIX API, and a “native” API.
- Aims at working both as a co-kernel and on top of PREEMPT_RT in future upstream Linux versions.
- Will never be merged in the mainline kernel.