Real-time computing

   

Real-time computing is the subject of hardware and software systems which are subject to constraints in time. Some kinds of software, such as many chess-playing programs, are allowed as much time as needed to perform a computation such as the next chess move. Web servers are an example of software that people work hard to optimize for performance, yet performance problems rarely incur any serious penalty.

A distinction can be made between those systems which will suffer a critical failure if time constraints are violated (hard or immediate real-time), and those which will not (soft real-time).

Hard real-time systems are typically found interacting at a low level with physical hardware, in embedded systems. For example, a car's engine management system is a hard real-time system because a delayed signal may cause engine failure or damage. Other examples of hard real-time embedded systems include medical systems such as pacemakers and industrial process controllers.

Soft real-time systems are typically those used where there is some issue of concurrent access and the need to keep a number of connected systems up to date with a changing situation on the ground. An example would be the software that maintains and updates the flight plans for commercial airliners. These can operate to a latency of seconds. It would not be possible to offer modern commercial air travel if these computations could not reliably be performed in real time. Live audio-video systems are also typically soft real-time; violation of constraints results in degraded quality, but the system can continue to operate.

It is important to note that hard versus soft real-time does not necessarily relate to the length of time available. A machine may overheat if a processor does not turn on cooling within 15 minutes (hard real-time). On the other hand, a network interface card may lose buffered data if it is not read within a fraction of a second — but the data can be resent over the network if needed, perhaps without a delay noticeable to the user.

The needs of real-time software are often addressed with the use of real-time operating systems, which provide a framework upon which to build real-time application software.

See also

External links


de:Echtzeit-Verarbeitung es:Informática o Computación en tiempo real

Retrieved from "http://www.mywiseowl.com/articles/Real-time_computing"

This page has been accessed 1023 times. This page was last modified 21:12, 24 Oct 2004. All text is available under the terms of the GNU Free Documentation License (see Copyrights for details).