19.1. About Real Time Operating Systems (RTOSs)

Operating systems provide software support for application programs running on a target. RTOSs are operating systems that are designed for computers that interact with real-world activities, and so the treatment of time is critical to successful operation. For example, if an application is in control of a car engine it is vital that the electronic ignition and engine timing are synchronized correctly.

Real-time applications vary in required timing accuracy from seconds to microseconds, but they must guarantee to operate within the time constraints that are set.

Real-time applications can be:

Hard real-time

Failure to meet an event deadline is catastrophic, typically causing loss of life or property. An example is a car engine controller.

Soft real-time

Failure to meet a deadline is unfortunate but does not endanger life or property. An example is a washing machine controller.

In supporting real-world computer systems, an RTOS and the applications using it are designed with many principles in mind, for example:

An RTOS often uses separate software components to model and control the hardware with which it interacts. For example, a car engine controller might have:

Using components like this enables the RTOS to ensure that the job that must be done next to meet the deadlines can be scheduled next. RTOS processes can either:

In multiprocessor systems, specific processes and threads can be run on specific processors. For example:

Copyright © 2003, 2004 ARM Limited. All rights reserved.ARM DUI 0234B