RTAI is the acronym of Realtime Application Interface. It was first started at the Dipartimento di Ingeneria Aerospaziale, Politecnico di Milano by Professor Paolo Mantegazza.
RTAI started as a variant of RTLinux in 1999 when Paolo Mantegazza tried to collaborate with RTLinux including new features and rearrange the RTLinux code but Victor did not accepted his contributions. Since then, the relations between RTAI and RTLinux developers are not good.
Although RTAI still contains code from the original RTLinux code, the API differences between them evolved in opposite directions. RTLinux was rewritten to be POSIX compatible and to remain small and simple; RTAI developers added new features and system calls following a personal and non always coherent style. One of the main development guideline of RTLinux was to keep the system as simple as possible and only add new features when strictly necessary. On the other hand, RTAI developers accepted and integrated into the system all code contributions which resulted in a full featured, but some times redundant and incompatible, system.
Currently, RTAI developers have started two major tasks:
Replace the underlying hardware control RTHAL, based on the RTLinux original code and patented by Victor Yoddaiken, with a new technology called ADEOS "Adaptive Domain Environment for Operating Systems".
Redesign the API.
The basic structure of RTAI is the same than RTLinux. A new software layer is beneath Linux kernel with full control of interrupts and processor key features.
RTAI scheduler treats the Linux operating system kernel as the idle task. Linux only executes when there are no real time tasks to run, and the real time kernel is inactive. The Linux task can never block interrupts or prevent itself from being preempted.