Existing variants of Real-Time Linux: RT-Linux
In 1997, a real-time variant of Linux, called RT-Linux, was developed at the Department of Computer Science of the New Mexico Institute of Technology (NMT). It functions by inserting a small real-time executive between the hardware and the classic Linux kernel. In fact, the non-real-time Linux kernel becomes the idle task of the new real-time kernel, using a virtual machine layer to make the non-real-time kernel fully pre-emptable.RT-Linux relies on classic Linux for everything which is not constrained by worst-case behavior, such as booting, data-logging, graphical user interfaces, network access, certain device drivers, etc. The communication between the real-time kernel and the non-real-time kernel is realized through FIFO's, that are lock-free from the real-time side. In the more recent versions of RT-Linux, shared memory is also available.
Version 1 of RT-Linux was based on the 2.0 Linux kernel. The latest release in this series was version 1.3, which was based on the 2.0.37 kernel. Version 2 of RT-Linux is based on the 2.2 Linux kernel. It provides support for SMP and introduces a simplified version of the POSIX pthreads API, compliant with the POSIX "Minimal Real-time" standard. The most stable version is currently RT-Linux 2.2, which added support for mutexes and was released in January 1999. It is based on kernel version 2.2.14. The development version 2.3 has lead to RT-Linux 3 beta, which was released in January 2000. This latest version is based on kernel version 2.3.99 and includes Intel x86 and PowerPC ports.
Commercial support for RT-Linux is provided by Finite State Machine Labs (FSM Labs).



