Software vs Hardware Implementations for Real-Time Operating Systems

In the development of the embedded systems a very important role is played by the real-time operating system (RTOS). They provide basic services for multitasking on small microcontrollers and the support to implement the deadlines imposed by critical systems. The RTOS used can have important consequences in the performance of the embedded system. In order to eliminate the overhead generated by RTOS, the RTOS primitives have begun to be implemented in hardware. Such a solution is the nMPRA architecture (Multi Pipeline Register Architecture - n degree of multiplication) that implements in hardware of all primitives of an RTOS. This article makes a comparison between software RTOS and nMPRA systems in terms of response time to an external event. For comparison, we use three of the most commonly used RTOS in developing embedded systems: FreeRTOS, uC/OS-III and Keil RTX. These RTOSs are executed on a microcontroller that works at the same frequency as the implementations of the nMPRA architecture on a FPGA system.

[1]  Sergey V. Zelenov,et al.  Schedulability Analysis for Strictly Periodic Tasks in RTOS , 2018, Programming and Computer Software.

[2]  K. C. Wang Models of Embedded Systems , 2017 .

[3]  N. C. Gaitan Enhanced Interrupt Response Time in the nMPRA based on Embedded Real Time Microcontrollers , 2017 .

[4]  RTOS Based Dynamic Scheduler in Power Quality Applications , 2013 .

[5]  Ioan Ungurean,et al.  Performance analysis of tasks synchronization for real time operating systems , 2018, 2018 International Conference on Development and Application Systems (DAS).

[6]  Ioan Ungurean,et al.  CPU Architecture Based on a Hardware Scheduler and Independent Pipeline Registers , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Shengchao Qin,et al.  Automated verification of the FreeRTOS scheduler in Hip/Sleek , 2012, 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering.

[8]  Marcel Baunach,et al.  mosartMCU: Multi-core operating-system-aware real-time microcontroller , 2018, 2018 7th Mediterranean Conference on Embedded Computing (MECO).

[9]  Vasile Gheorghita Gaitan,et al.  Implementation of nMPRA CPU architecture based on preemptive hardware scheduler engine and different scheduling algorithms , 2017, IET Comput. Digit. Tech..

[10]  Long Peng,et al.  Open source FreeRTOS as a case study in real-time operating system evolution , 2016, J. Syst. Softw..

[11]  Bruce Jacob,et al.  Hardware support for real-time operating systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[12]  Marco Platzner,et al.  ReconOS: An Operating System Approach for Reconfigurable Computing , 2014, IEEE Micro.

[13]  Jean J. Labrosse uC/OS-III, The Real-Time Kernel, or a High Performance, Scalable, ROMable, Preemptive, Multitasking Kernel for Microprocessors, Microcontrollers & DSPs , 2009 .

[14]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[15]  Ionel Zagan,et al.  Improving the Performances of the nMPRA Processor using a Custom Interrupt Management Scheduling Policy , 2016 .