June 24th, 2019 by
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 real time operating system 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.
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.