The industrial and military sectors require different levels of real-time response from the computer, depending on the specific nature of each task being performed. Consequently, three different definitions of "real-time" can be illustrated by a battlefield scenario in which soldiers in the field provide real-time data that is finally sent to the commander's real-time tactical display providing information used To determine that a missile must be launched (using a computer system in real time).
"Real-time" troop data can be compared to the now-known "real-time stock quote", providing information that was current in the last few seconds or perhaps minutes. This can be termed "real human time" since short delays in the tactical data provided from the field are obscured by the much longer human delays associated with classification and correlation.
The video observation observed by the commander illustrates 'soft real-time', where the loss of an occasional frame will not cause any perceived video degradation as long as the average performance of the case is acceptable. Although techniques such as interpolation can be used to compensate for missing frames, the system remains a smooth real-time system because the actual data was lost and the interpolated frame represents the derived data, rather than the actual ones. The high speed missile control system illustrates "real time real time" because it relies on guaranteed and repeatable system responses of milliseconds or millionths of a second. Since these deadlines can never be missed, a hard real-time system can not use the average performance of the cases to compensate for the worst-case performance. Therefore, hard real-time systems are necessary for the most technically difficult tasks.
Since an embedded system often performs only a single task, the differences between real and soft time for these applications are not as critical as one might think. However, as true multitasking operating systems, such as Linux, are adopted for use in increasingly complex systems, the need for hard real-time is often evident. To further confuse the problem in real-time, the general term "Real-Time Operating System (RTOS)" is used to refer to one that can provide hard or soft capacities in real time, but not necessarily both. Therefore, all operating systems labeled "RTOS" are not created equally.
This is the main page of RTAI - the RealTime application interface for Linux - that allows you to write applications with strict time restrictions for your favorite operating system. Like Linux, this software is a community effort. If you are interested in what you do, join our mailing list and help our team!
RTAI supports several architectures:
• x86 (with and without FPU and TSC)
X86_64
• PowerPC
• ARM (StrongARM, ARM7: clps711x family, Cirrus Logic EP7xxx, CS89712, PXA25x)
• m68k (compatible with both MMU and NOMMU cpus)
The RTAI distribution includes RTAI-Lab, a toolkit for converting block diagrams into RTAI executables and for monitoring their operation across multiple targets.