Real time refers to sensing and responding to external events nearly simultaneously (e.g., within milliseconds or microseconds) with their occurrence. It is employed mostly in systems in which the results of the computation are used to influence a process while it is occurring.
This is in contrast to time shifting, which is the situation in which a system responds to external events at its convenience or in batches.
Although real time operations are typically thought of as being fast, this does not necessarily have to be the case, as slow systems can allow slow real time operation. Likewise, all fast operations are not necessarily real time operation.
A distinction is made between hard real time and soft real time. The former refers to systems that would suffer a critical failure if their time constraints were violated, such as the crashing (i.e., stopping working as expected or at all) of a computer, damage to equipment, or the loss of human lives. Such systems are typically found interacting at a low level with physical hardware in embedded systems (i.e., special-purpose computer circuitry that is built into a larger system). Examples of include industrial process controls, medical electronic systems and electronic flight control systems for aircraft.
Soft real time applications are those that would not suffer a catastrophic failure if some of their deadlines were not precisely met. They usually must satisfy a deadline, but if some percentage of deadlines are missed by a small interval, the results may still be considered to be acceptable. An example is the transmission of live audio and video content via a network; although violation of constraints may result in degraded sound or image quality, the system can continue to operate. Other examples include systems that maintain and update the flight plans for commercial airplanes, online banking systems and virtual reality systems.
A telephone conversation is a real time activity even though the response from each party to talking by the other party can take seconds or even minutes. This is because the talking by each party is dependent on what the other party said. And clearly it is soft real time. In contrast, communication through the conventional postal system is not real time, because each party can respond at its convenience and in batches.
Real time systems often require special computer operating systems, because conventional operating systems typically do not provide such performance. Among the best known operating systems that feature real time capabilities are QNX and VxWorks. Such systems are widely used for control (e.g., of industrial processes or of transportation vehicles) and communications applications and not for general purpose computing.
Linux has been adapted for real time support. These adaptations are termed real time Linux. A number of versions of real time Linux are available, some of which are free and others of which are commercial. Among the free versions are the real time Application Interface (RTAI), developed by the Milan Polytechnical University, and RTL, developed by New Mexico Tech and now maintained by FSM Labs, Inc.
Created April 12, 2006.