Basics of real time operating systems, problems and comparison of commercial real time operating systems
This paper presents the basic and advanced concepts of real time operating systems and a review on three term papers written by scholars of various universities. Real Time Operating Systems are increasingly becoming an indispensable part of modern day computing. The precision of RTOS is a major factor that determines its applications. So we attempt to have an insight into the world of real time operating systems. This review paper includes discussion on real time operating systems and its related terms, the problems with real time operating systems and solutions to them, real time scheduling and comparison between the various commercial RTOS. Some scheduling algorithms and analysis techniques for periodic and aperiodic tasks are also discussed. This paper also reviews prerequisites for an RTOS and also presents a comparison of the commercial RTOS.
A real-time system is a system in which performance depends not only on the correctness of the single controller actions, but also on the time at which actions are produced. The main difference between a real-time task and a non real-time task is that a real-time task must complete within a given deadline. In other words, a deadline is the maximum time allowed for a computational process to finish its execution. In real-time applications, a result produced after its deadline is not only late, but can be dangerous. Depending on the consequences caused by a missed deadline, real-time activities can be classified in hard and soft tasks. A real-time task is said to be hard if missing a deadline may have catastrophic consequences in the controlled system. A real-time task is said to be soft if missing a deadline causes performance degradation, but does not jeopardize correct system behavior. An operating system able to manage hard tasks is called a hard real-time system.
The primary goal of a real-time operating system is to provide a set of resource reservation methods so that the quality-of-service for applications could be guaranteed. The contributions made by researchers and engineers to real-time operating systems could be categorized into two major forms: The first is to build a new operating system. The other is to add a real-time application interface to a full-functional traditional operating system. It could be accomplished by modifying the kernel source, adding kernel-mode modules, or manipulating the existing system primitives.
Ref. states that the key difference between general-computing operating systems and real-time operating systems is the need for "deterministic" timing behavior in the real-time operating systems. RTOS kernels hide from application software the low-level details of system hardware, and at the same time provide several categories of services to application software. These include: task management with priority-based preemptive scheduling, reliable intertask communication and synchronization, non-fragmenting dynamic memory allocation, and basic timer services. Ref  explores the various problems related to RTOS and provides solutions to the same. For soft real-time systems, such as multimedia systems or simulators, the hard real-time approach can be too rigid and inefficient, especially when the application tasks have highly variable computation times. In these cases, novel methodologies have been introduced to improve average resource exploitation. They are also able to guarantee a desired QoS level and control performance degradation during overload conditions. Ref  outlines the basic requirements of an RTOS and compares commercial RTOSs.
2. BASIC CONCEPTS OF REAL TIME OPERATING SYSTEM
Real-time and embedded systems operate in constrained environments in which computer memory and processing power are limited. They often need to provide their...