RTOS of the Day: Performance Comparison and Analysis of Open Source Real-Time Operating Systems

image

[Generated with AI]

Context

Within the AHA project, we focus on optimizing embedded systems by specialization of the OS itself. Using the Automatic Real-time Analyzer (ARA), we perform static analysis to enable extensive tailoring of real-time operating systems (RTOS) to the application. The operating system is generated specifically for a single application to provide exactly the required functionality. As a result, we improve non-functional system properties like delay or memory footprint, which can reduce hardware costs and energy consumption.

Problem

A general, non-specialized RTOS is used to simplify the development of embedded systems by providing common abstractions like thread scheduling, semaphores and IPC mechanisms to the application developers. While each RTOS abstraction provides a useful API, the delay and jitter of these abstractions can be a critical penalty to the real-time capabilities of the whole system. Additionally, the RTOS implementation increases the memory footprint, which could exceed the available memory on small devices.

Goal

In this thesis, three different RTOS, namely Zephyr, FreeRTOS and RIOT shall be analyzed regarding their performance and memory footprint. Related research papers with a focus on IoT devices have analyzed these systems similarly 1234. The measurements will be executed on the ESP32c3 RISC-V platform, which provides support for the previously mentioned RTOS 5.

In particular, the following steps need to be taken:

Topics: RTOS, C, RISC-V, Measurements

References

RTAS Conference A
ARA: Static Initialization of Dynamically-Created System Objects
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings of the 27th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'21)2021.
PDF Details Video Teaser Video 10.1109/RTAS52030.2021.00039 [BibTex]