Design Article
Myths and realities of real-time linux software systems
Kushal Koolwal, VersaLogic Corporation
5/8/2009 2:43 PM EDT
What is a real-time system?
According to the Real-time Computing FAQ, a real-time operating system (RTOS) is defined as follows:
"A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation, but also upon the time at which the result is produced. If the timing constraints are not met, system failure is said to have occurred." In other words, a system should be able to perform computations deterministically " an important concept in real-time systems. A system is said to be deterministic if its possible to predict the timings of its computation precisely, and computations are logically correct. For example, a real-time system should give the result of "2+2" not only as "4," but it should also produce the correct result within a specified time range.
Analogy for real-time systems
To understand the concept of a real-time system, consider the example of an automobile airbag system, one of the most critical systems in a modern car. An airbag should be deployed within a particular time interval (for example, within 1 second1) after the sensors in the car detect a collision.
A car equipped with a real-time computer system will always guarantee that the airbag will be deployed within 1 second, no matter what happens (see worst-case scenario below). The real-time system will put all the non-critical tasks, such as powering the stereo, switching on the air-conditioning, activating cruise control, etc. on hold and will immediately deploy the airbag as soon as it receives the signal from the sensors.
If a car is equipped with a non real-time system, however, there is no guarantee that the airbag will be deployed exactly within 1 second after the sensor detects a collision. Such a non real-time system might deploy the airbag after finishing the request to activate the cruise control, which happened to come before the request to deploy the airbag. Therefore, an airbag system that deploys even 0.1 second later than the expected time (1 second) is as bad as not deploying at all. Why? Because it might already be too late to save the life of the passenger. In fact, with real-time systems, a difference of even 0.000001 second is of utmost importance.
Click here for the full paper.
According to the Real-time Computing FAQ, a real-time operating system (RTOS) is defined as follows:
"A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation, but also upon the time at which the result is produced. If the timing constraints are not met, system failure is said to have occurred." In other words, a system should be able to perform computations deterministically " an important concept in real-time systems. A system is said to be deterministic if its possible to predict the timings of its computation precisely, and computations are logically correct. For example, a real-time system should give the result of "2+2" not only as "4," but it should also produce the correct result within a specified time range.
Analogy for real-time systems
To understand the concept of a real-time system, consider the example of an automobile airbag system, one of the most critical systems in a modern car. An airbag should be deployed within a particular time interval (for example, within 1 second1) after the sensors in the car detect a collision.
A car equipped with a real-time computer system will always guarantee that the airbag will be deployed within 1 second, no matter what happens (see worst-case scenario below). The real-time system will put all the non-critical tasks, such as powering the stereo, switching on the air-conditioning, activating cruise control, etc. on hold and will immediately deploy the airbag as soon as it receives the signal from the sensors.
If a car is equipped with a non real-time system, however, there is no guarantee that the airbag will be deployed exactly within 1 second after the sensor detects a collision. Such a non real-time system might deploy the airbag after finishing the request to activate the cruise control, which happened to come before the request to deploy the airbag. Therefore, an airbag system that deploys even 0.1 second later than the expected time (1 second) is as bad as not deploying at all. Why? Because it might already be too late to save the life of the passenger. In fact, with real-time systems, a difference of even 0.000001 second is of utmost importance.
Click here for the full paper.
Navigate to related information




theTerrible
5/14/2009 11:59 AM EDT
It is really anoying to make use to click many times, show him irrelevant ads and only then request to register/login in order to view full content. I personally call such systems "click, click,..puck"
Sign in to Reply
JasonKrueger
5/20/2009 4:35 PM EDT
The whitepaper is available online directly at:
http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp
Sign in to Reply