RTOS Primer, Part One: Operating In Real Time As Opposed to What?

What’s a RTOS?

 

As we know it, a real-time operating system (RTOS) is easily defined. Pertaining to computers of all types, a RTOS is a system that processes data as it arrives with close to zero delays. The operating system manages all of the applications installed on a computer, i.e., word processors, graphics editing, mathematical, CAD, and other programs. It opens and closes programs based on user input, enables work data to be stored for retrieval at a later date, and, in terms of real-time, prioritizes tasks based on order of importance.

 

A RTOS also offers user-definable control over peripherals such as the display, mouse, and other input devices. It also provides the graphical user interface (GUI) that guides users through operations with ease of access to all the functionality of their computers.

 

Today, the three most common RTOSs for general purposes are Microsoft Windows and Apple iOS. Now, before there are any debates about the “real-time” aspect of any of these, one must consider the hardware. The speed at which any operating system performs will depend on the processor (CPU), the amount and operating speed of memory, and whether regular user maintenance (defragging, system scans, cache purging, etc.) is performed. Of course, there’s the perceived/psychological orientation of the user. Personal moods often seem to affect a computer’s speed in dream and drama time, but not real time.

 

Microsoft Windows and Mac iOS suit non-critical measurement and control applications, but they are not recommended for applications that require precision timing or extended up-time.

In contrast to real-time operating systems, Windows and Mac are okay for consumer/commercial markets.

 

Requirements

 

According to National Instruments, to be considered "real-time", an operating system must have a known maximum time for each of the critical operations that it performs, or be able to guarantee that maximum most of the time. Operating systems that absolutely guarantee a maximum time for critical operations are referred to as hard real-time. Operating systems that can only guarantee a maximum most of the time are referred to as soft real-time.

 

For example, might be designing an aerospace application whereby a series of thruster events had to occur at exact times in order to accelerate a space vehicle into orbit. If acceleration times are off, the vehicle will sustain damages, if not be destroyed completely. The designer obviously would need to employ a hard real-time operating system in the design.

 

For a less critical application, i.e., downloading and viewing video on a portable device, losing a microsecond worth of data here or there won’t cause untold destruction; some impatient expletives maybe, but nothing to sew beans about. In this case, the designer can get away with deploying a lower-cost soft real-time operating system.

 

Summarily, if an RTOS is assembled and programmed competently, programs will run with fairly consistent timing.

 

Embedded Systems

 

Consumer applications are one thing that does not really need explaining and, frankly, has no major place in a discussion of critical applications. Embedded-systems applications rely heavily on their operating systems to control everything from simple networks to operating rooms in hospitals to guiding spacecraft and satellites. And yes, the applications are endless and, to greater or less degrees, require a hard real-time operating system.

 

The list of RTOS used in embedded designs is rather long and some of the entries may be esoteric or suit highly specific processes and/or devices. The reason is that embedded systems may use an array of different processors and levels of performance as well as other devices such as microcontrollers (MCUs), programmable logic controllers (PLCs), memory types and densities, etc.

 

Below are two tables listing some of the popular RTOS for embedded applications. There are two species of RTOS listed: open source systems, which are free of charge yet have certain limitations particularly when it comes to security, and proprietary that require licensing. The latter targets secure and higher-end applications.

Open-source real-time operating systems.
Proprietary RTOS

An in depth listing, which is a bit too large to present here, is available from Wikipedia. It shows pretty much all RTOS available with a description of each. Also, if you are attending Sensors Midwest, be sure to attend the Mastering Real-Time Operating Systems Workshop presented by Jacob Beningo, President, Beningo Embedded Group. The workshop will be held on Wednesday, October 4, 2017 from 10:15 AM  to 2:00 PM in the Sensors Live Theater.

 

Next time, real-time applications.