A Review of the Scopes and Challenges of the Modern Real-Time Operating Systems

A Review of the Scopes and Challenges of the Modern Real-Time Operating Systems

Amit K. Shukla (Department of Computer Science, South Asian University, New Delhi, India), Rachit Sharma (Department of Computer Science, South Asian University, New Delhi, India) and Pranab K. Muhuri (Department of Computer Science, South Asian University, New Delhi, India)
DOI: 10.4018/IJERTCS.2018010104


A real-time operating system (RTOS) is an integral part of a real-time embedded system (RTES). Most of the RTESs work on dynamic environments, and hence, the computational cost of tasks cannot be calculated in advance. Thus, RTOSs play a significant role in the smooth operations of the RTES through efficient task scheduling schemes and resource managements. This article investigates the existing design challenges and scope of the modern RTOSs. A wide variety of latest RTOSs are discussed and elaborated in detail. A comparative study with their prospects has been explained so that interested readers can use the article as a readily available starting point for their further studies on this topic.
Article Preview

1. Introduction

Real-Time Operating Systems (RTOSs) are a special class of operating systems (OS), used to serve Real-Time Embedded Systems (RTESs) or a Real-Time Systems (RTSs). RTOSs help RTESs to operate in the presence of numerous constraints such as expended power, response time, and maintaining an efficient usage of memory. RTOSs are used in embedded computing systems for resource allocation and planning to carry out multiple tasks within worst case execution times pertaining to a particular architecture. The major concern with RTESs is that they should produce an accurate output within a deadline or an allotted time frame. The RTOSs are crafted scalable enough for various sets of applications for different RTESs.

RTESs are categorized into three classes, viz., hard, soft, and firm RTES. Graphical representation of hard, soft and firm RTES are presented in Figure 1.

Figure 1.

Graphical representation of RTOS

A hard RTES is prone to less jitter than its soft counterpart (Mall, 2009). A RTES is classified as a soft RTES, if the output of task remains useful even if it´s execution requires violation of the deadline up to a certain extent. However, if in a system, the violation of a task deadline is associated with the possibility of huge damage or catastrophe, then it is termed as a hard RTES. When, output of task loses its utility beyond the task deadline, then then system is called a farm RTS.

Systems employed in avionics controllers find extensive application of RTOS. Therein, a single computer is used to control several aircraft subsystems mandating an OS with temporal and spatial partitioning systems. Spatial partitioning is a concept that refers to the function of isolating tasks in the computer memory, and temporal partitioning is concerned with efficient utilization of processor time. These partitioning schemes allow a single processor to run several tasks in parallel at a particular instant of time. Therefore, we see that the role of RTOSs is immensely significant for the purposeful and secure operations of the RTESs.

There are various requirements in a RTOS such as predictability of task, strictness towards deadline violations, configurability of system, size, functionality, efficiency of system components i.e. time granularity, threads, and resource management etc. (Joe & Kim, 2017; Alimi et al., 2017; Dietrich et al., 2017; Guan et al., 2016). However, the primary objectives of RTOSs to utilize efficient scheduling techniques with good resource management policies, and predictable performance of tasks. Scheduling, weather hardware or software, is one the crucial factor for real-time tasks (Lin et al., 2015; Zhang et al., 2011; Gracioli, G., & Fröhlich, 2017). Moreover, an important part of the OS kernel is the scheduler which is driven by periodic clock interrupts, except during the occurrences of voluntary context switches. As shown in Figure 2, architecture of RTOS for complex embedded systems can be a combination of various modules including kernel, stacks, networking protocol, device drivers, and file system.

Figure 2.

Architecture of RTOS

The international market offers a plethora of options for RTOSs. According to a 2014 Embedded Market Study (Rambo, 2014), following RTOSs are among the top 10 operating systems used in the embedded systems market: InHouse/Custom (18%) Android (17%) FreeRTOS (17%), Ubuntu (15%), Debian Linux (12%), Green Hills Software INTEGRITY (3%) Wind River VxWorks (8%) QNX Neutrino (5%) Micrium µC/OS-II, III (10%) Windows CE (8%). We have included the RTOSs with their widespread usage and availability. The distribution in percentage of these embedded systems is shown as the pie chart in Figure 3.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 10: 2 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 2 Issues (2018): 1 Released, 1 Forthcoming
Volume 8: 2 Issues (2017)
Volume 7: 2 Issues (2016)
Volume 6: 2 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing