Avionics and Space systems require the use of a real-time operating system (RTOS) in order to meet their timing constraints. This tutorial focuses on the RTEMS RTOS, a widely used RTOS in commercial, certified systems. RTEMS is a POSIX-compliant RTOS, developed by OAR for the US DoD in the ‘80s, and it is open source with a permissive license. It has been under active and continuous development ever since and has a large open source community. In addition to its open source nature, thanks to an effort supported by the European Space Agency (ESA), a fully open source pre-qualification package for the GR740 and GR712 processors from FrontGrade Gaisler is provided.
RTEMS is FACE and SOSA compliant and can be used either as is, or on top of ARINC-653 Operating Systems. With native support for multicore processors, both with sequential SMP tasks as well as with purely parallel OpenMP tasks, RTEMS is a key technology for the implementation of the homogeneous parallelism concept. This concept was introduced by our DASC 2023 publication and allows to meet the performance requirements of computationally intensive aerospace applications, while facilitating their certification according to AMC-20-193. In this tutorial, we will provide an introduction on the RTEMS operating system from both the user perspective as well as from the RTOS developer point of view. In particular, we will provide an overview of the RTOS capabilities and examples of successful use cases in existing space missions and avionics projects. We will examine the concept of homogeneous parallelism and how it can be applied using RTEMS. Finally, we will see how to port RTEMS to a new architecture.