Design of RTOS Systems and Software (Deutsch)/(English)


This course examines the development of real-time and embedded system software with one RTOS at user-level.

The class begins with an overview of fundamental issues regarding the development of multitasking applications for embedded real-time systems and their appropriate system requirements and specifications. It then focuses on how to structure a software system with strict requirements and limits. In this context, the main focus is more on multitasking- and timing-behavior than on object-oriented development.

The class continues with a broad spectrum of interprocess communication und synchronization, including various types of mutexes. Subjects such as deadlocks, lockouts, memory and CPU starvation as well as priority inversion will be dealt with in detail. The participants will learn how to configure queue lengths correctly and how to deal with design dangers such as interrupt overflow and memory starvation. Timing performance, performance in general and the quality of real-time or embedded design will be additional topics.

This course is highly focused on the design of deeply-embedded, time-constrained, resource-constrained multitasking software that will run under the control of a modern RTOS.


  • Introduction: Architectural Requirements of a RTOS and limitations
    • Motivation for using a real-time OS
    • Motivation for using a real-time OS
    • How to design a deterministic RTOS?
    • Embedded / Real-time-Systems: Issues und Definitions
    • What is an RTOS?
    • What is an Embedded System?
    • Classification of RTOS-Systems
    • Requirement Analysis: User Scenarios
    • Transition Diagrams and State Machines
    • Basic Structure of a RTOS
    • Tasks / Processes, Threads and Objects / Multi-Tasking / Multi-Threading
    • Concurrency
    • Tasks Breakdown
    • Need object-orientation for Embedded/Real-Time Software?
  • Methods of Information Exchange / Messages / Queues
    • Scheduling / Dispatcher – Methods and Problems
    • Deadlocks – Avoidance / Prevention, Lockout, „Starvation“
    • Architectural features and Structure of a real-tome OS
    • Requirement analysis for Embedded and RTOS
    • Correctness Killer
    • Intertask communication
    • Intertask Synchronization
    • Mutexes
    • Priority Inheritance / Priority Inversion
  • More Application Examples
    • Standard Elements in a Multitasking SW Design
    • Standard Design patterns for Multitasking SW Design
    • Multitasking SW Design Evaluation
    • Performance Analysis


Basic knowledge of minimum one RTOS


RTOS Software Developer, Project Manager and Consultants, developing or designing or integrating software for real-time and embedded systems.

Begleitendes Kursmaterial

  • course notes

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!