News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

David Beal on “What is real-time?”

Sep 14, 1997 — by Rick Lehrbaum — from the LinuxDevices Archive — views

Here are David Beal's answers:

  • What is real-time? — Real-time is the ability to issue a command or instruction and get a response in a relatively predictable amount of time to that task. It is also defined as the actual time during which a process takes place or an event occurs.

    For specific definitions of soft real-time and hard real-time, it is important to define two terms — preemptive and deterministic:

    • Preemptive scheduling lets a high priority job preempt a running job of lower priority, by suspending the low priority job to make resources available. Use preemptive scheduling if you have long-running low priority jobs that might cause high priority jobs to wait an unacceptably long time.

    • Deterministic refers to the ability to predict when a specific event will occur at its precise moment.

  • What is soft real-time? — Soft real-time is a response to an instruction that is not necessarily exact or precise, but an average response time to a task. Soft real-time is neither preemptive or deterministic, but is a good solution for many real-time needs. Credit card readers or point-of-sale devices are good examples of soft real-time responses, because it is not critical whether a response to these devices is a half second early or a half second late. In a soft real-time system, we take a “best effort” approach and minimize latency from event to response as much as possible while keeping thoughput up with external events, overall.

    Standard Linux provides very good soft real-time performance, especially when combined with Ingo Molnar's low latency patch.

  • What is hard real-time? — Hard real-time requires a guaranteed, preemptive, deterministic response to an instruction. It is not based on average response times (like soft real-time), because it is used when exactness is paramount down to the microsecond. Examples of when hard real-time is used are in industrial controls, the military, medical equipment, etc. In a hard real time system, the deadlines are fixed and the system must guarantee response within a fixed and well defined time.

    Both RTLinux and RTAI operate below the Linux kernel, providing the ability to preempt Linux, and thus providing hard real-time response.

  • Additional comment — In summary, a hard real-time OS is one that provides a guarantee that the response to an event will occur within some fixed time, without fail, no matter what. A soft real-time OS will do it's best to service your event within, on average, a certain time. Both types of operating systems are useful, but they have distictly different uses.

Panelist's bio: Dave Beal currently serves in the position of Product Marketing Manager, Real-Time Solutions, for Lineo, Inc. Dave joined Lineo in February 2000, with the acquisition of Zentropix, Inc., which had been focused on real-time Linux since its inception in January, 1998. Prior to joining Zentropix, Dave worked in product/project management and test engineer roles within the communications simulation, commercial spread-spectrum communications, and radar and electronic warfare stimulation fields, where strict timing issues play a major role in a product's success or failure. Dave has also performed full-size aircraft antenna pattern measurement and US Army artillery computer repair and maintenance.

This article was originally published on and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.