Real Hard Time

Doc Searls

Issue #79, November 2000

Real Hard Time

MontaVista's announcement was not met with universal approval. Both its most direct competitors, Utah-based Lineo and TimeSys Corporation had the following responses:

Through our acquisition and integration of Zentropix, Lineo has been delivering hard real-time Linux for more than a year now. We have real customers using our hard real-time solutions today in the areas of flight simulation, weather-monitoring systems, heart-monitoring systems, industrial controls and many others.

The Lineo real-time solution achieves guaranteed hard real-time microsecond response times today. This is very different from the “relatively fully preemptable kernel”, announced by this competitor.

Lineo continues to actively support and promote real-time technologies. For more information about Lineo's real-time technologies, please visit www.lineo.com/products/realtime_linux/index.html.

Lineo also makes hard real time available from our open-source site (opensource.lineo.com/projects.html). Users can download a full-version of RTAI (real-time application interface) and AtomicRTAI from this site.

At LinuxWorld in San Jose this year, Lineo announced it would integrate real-time technology into the Embedix SDK, which Lineo will ship in Q4 of this year.

TimeSys Corporation:

A competitor of TimeSys recently announced that they are “the first to deliver hard real-time Linux”. TimeSys would like to point out that this statement is false based on the following facts:

  1. TimeSys has delivered to the market in May 2000, our TimeSys Linux/RT product that incorporates direct extensions to the Linux kernel that provides a strong platform for building hard real-time applications. These kernel extensions included support for guaranteed and deadline-aware CPU reservations with enforcement, 256 levels of fixed-priority scheduling, support for priority inheritance, support for periodic tasks, and high-resolution clocks and timers. These Linux kernel extensions, called the “Resource Kernel (RK)” have been downloadable from our web site (www.timesys.com/products) since May 2000. RK extensions are binary-compatible with Linux by definition and can actually allow Linux applications to be given real-time and QoS guarantees without accessing or modifying the application source code.

  2. It is well known in the real-time systems community that fixed-priority scheduling combined with priority inheritance support and high-resolution timers is sufficient to build hard real-time systems. In fact, the most popular framework for building hard real-time systems is called RMA (Rate-Monotonic Analysis), which requires only these primitives. RMA is the ONLY framework supported by all major standards in the real-time systems marketplace, including Real-Time Extensions to POSIX, Real-Time Java, Real-Time CORBA, Real-Time UML, Ada 83 and Ada95. The competition does not support QoS guarantees, priority inheritance, high-resolution timers or periodic tasks.

  3. In addition, to the direct Linux kernel extensions described in (1) above, TimeSys Linux/RT 1.0 and 1.1 also includes the RTAI layer from DIAPM, Italy. The RTAI layer is an independent higher-priority real-time kernel that runs below Linux. TimeSys Linux/RT includes both this higher-performance (but non-Linux-binary-compatible RTAI) layer and the Resource Kernel extensions. The two are mutually exclusive, but both support hard real-time applications.

  4. TimeSys Linux/RT capabilities are not hidden or abstract; they can be explicitly visualized by the use of the TimeTrace product from TimeSys (please see www.timesys.com/products). The exact sequence of scheduling events and system calls occurring on multiple TimeSys Linux/RT targets can be viewed on a host and verified for strict correctness. In fact, code segments and system calls that take less than tens of nanoseconds can be measured without adding any code to an application.

Lineo:

Doc Searls (info@linuxjournal.com) is senior editor at Linux Journal and coauthor of The Cluetrain Manifesto.