I am working for a large printer manufacturer in the Netherlands. The printers we develop require a Hard-Realtime Operating System as Embedded Control Platform to control the hardware (i.e. motors, clutches, sensors etc.).
My main task is to get RT-Linux to run on the Embedded Control boards. I have years of experience with the RT_PREEMPT patch on X86 (+SMP) and Atmel AT91 ARM cores, started with the 2.4 preemptive kernel. Before Linux I worked with LynxOS from Lynuxworks as RTOS beside VxWorks and some proprietary schedulers.
We never liked the RTAI dual-kernel approach, because we need the capability to run Userland POSIX-C++-RT-applications, beside non-RT (also 3rd party commercial) applications that generate a high amount of data processing/throughput through network devices and harddisk. Even heavy use of the swap space on disk is necessary on our systems.
We managed to get this system to run stable and to let the RT-application, beside the running non-RT applications, show similar RT behavior as what was normal for VxWorks or LynxOS on the same platform. So, we do things with Linux here what is impossible with the mentioned RTOS-es...
Because there was very little written on how to write RT-applications on Linux, I tried to share some of the basics on HOWTO:_Build_an_RT-application and the Frequently_Asked_Questions .
Remy Böhmer (linux AT bohmer DOT net)