Open side-bar Menu
 Embedded Software
Colin Walls
Colin Walls
Colin Walls has over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is an embedded software technologist with Mentor … More »

What is “real time”?

 
January 19th, 2015 by Colin Walls

The term “real time” is widely used nowadays. Although it is a technical term, it finds its way into quite normal conversation. I might be heard to say “I do not watch much real-time TV”, meaning that I record programs to watch at my convenience. So, colloquially, real time means “immediate” or “occurring now”. How does this align with its precise meaning when we refer to a real time operating system, for example? …

Looking up “real-time system” in a rather old computer dictionary yields:

“Any system in which the processing of data input to the system to obtain a result occurs virtually simultaneously with the event generating that data.”

It cites airline booking systems being an example. This is clearly not a useful definition for our needs.

Here is a better definition:

“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 of the system are not met, system failure is said to have occurred.”

Another way of putting this definition is to say that a real time system is, above all, predictable. We tend to use the term deterministic.
So a deterministic operating system performs all its actions in a well defined timeframe and enables a programmer to produce applications with the same characteristic. Real time does not mean fast – it means fast enough for the specific requirements of the application in hand.

Unfortunately, it is not quite so black and white. An OS can have a degree of determinism – it is a question of the variance between the time taken to do operations under different circumstances. So, a classic RTOS, like Nucleus, has a very low variance and is, hence, very deterministic. Linux, on the other hand, generally exhibits quite a high variance and may not normally be described as real time.

There is always the “brute force” approach to building a system, where you design with enough raw CPU power that the speed/variance of the OS hardly matters, as everything will be done in time. For some requirements, that might be a good solution, but, for many, such a profligate use of resources is not an option.

Related posts:

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CST Webinar Series
S2C: FPGA Base prototyping- Download white paper



Internet Business Systems © 2016 Internet Business Systems, Inc.
595 Millich Dr., Suite 216, Campbell, CA 95008
+1 (408)-337-6870 — Contact Us, or visit our other sites:
TechJobsCafe - Technical Jobs and Resumes EDACafe - Electronic Design Automation GISCafe - Geographical Information Services  MCADCafe - Mechanical Design and Engineering ShareCG - Share Computer Graphic (CG) Animation, 3D Art and 3D Models
  Privacy Policy