Real time operating systems are designed to facilitate real time applications that have strict timing constraints. They use algorithms with statically or dynamically assigned priorities to efficiently manage processes, communication, synchronization, and interrupts within restricted resource budgets. The architecture of an ideal RTOS takes into account the delicate timing requirements, which may involve techniques like monolithic kernels, libraries, virtual machines, or microkernels. Examples of systems that require real time processing include industrial control systems and flight control systems, where tasks must be completed within strict time windows.
1. Real Time Operating System Concepts
Real time applications are executed on real time operating systems (RTOS). To facilitate this,
specific algorithms that are bound to dynamically or statically assigned priorities are required.
This is because, basic RTOS services such as; inter-process communication, process management,
process synchronization and interrupt handling must be executed in an efficient manner that
utilizes restricted resource budgets. Therefore, an ideal RTOS architecture design must take into
account the delicate system requirements. This may entail the use of techniques like; monolithic
kernel, library based approaches, virtual machines and microkernels as per specific real time
system demands.
A wide range of embedded systems apply real time constraints. For instance, in production
control, all machines must receive their task orders at the right time to guarantee smooth plant
operations and processing of orders within the shortest time possible. The situation is more
restrictive in flight control systems where most operations rely on timing accuracy like the control
of combustion engines and turbines. These are just examples of embedded systems that are
bound to strict real time constraints.
The term real time implies that an IT system does not control its time domain. As such, time
progress of an environment determines time progress in an IT system. The environmental time
can be generated artificially or follow the real physical world time. However, the nature of
environmental time does not affect embedded systems. This is because, the correctness of
system operations depends on logical computation results and the physical time when the results
are released. Meaning that, in strict real time operating systems, delayed results are not just
wrong but have the potential to be fatal or cause unimaginable losses. A good example would be
an airbag controller.
Evidently, in real time operating systems, application tasks’ program logic must be augmented
by timing information. The timing information denotes the earliest time point when a specific
task can be started and the latest time the task can be completed. The augmented time
information combined with program logic act as computing system specifications defining what
should be done and when it should be done. For tasks to be executed concurrently in a real time
operating system, objective functionality must be applied.
Summary
Real time operating systems have gradually evolved from specialized single use systems to a wide
range of general purpose operating systems like Windows that is transformed into an RTOS with
a Real-Time Scheduler extension to deliver Real-Time Windows or Windows RTOS. There has also
been an evolution of safety critical and predictable RTOS applications to RTOS applications that
support soft real time systems. The support entails QoS (quality of service) concept for open real
time systems.