85728 - Real Time OS M

Academic Year 2025/2026

  • Moduli: Francesco Barchi (Modulo 1) (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Electronic Engineering for Intelligent Vehicles (cod. 5917)

Learning outcomes

The course covers the fundamentals of modern real-time operating systems. Arguments that are addressed in the course are architecture, organization, and functionalities of modern operating systems, task management and resource allocation, mechanisms and tools for synchronisation and concurrent programming, characteristics of real-time operating systems and main scheduling algorithms for hard real-time periodic processes.

Course contents

The first part of the course covers the fundamentals of programming modern OS and RTOS on embedded devices:

- General-Purpose OS (1 CFU)
  - Kernel and shell
  - C programming review
  - Processes, threads and virtual memory
  - Input and output
- Real Time OS (2 CFU)
  - Introduction to real-time systems
  - Embedded devices and bare-metal programming
    - Bootstrapping
    - Interrupts
    - Static and dynamic memory allocation
    - Peripherals
  - FreeRTOS (Part 1)
    - Tasks, scheduling, and priorities
    - Interrupts and ISRs
    - Heap management strategies

 

The second part of the course covers advanced topics in modern RTOS:

- FreeRTOS (Part 2) (2 CFU)
  - Inter-task communication
  - Critical sections, mutexes, and semaphores
  - Starvation and deadlocks
  - Priority inversion and unbounded priority inversion
  - Software and Hardware Timers
  - Critical sections in ISRs
  - Symmetric multiprocessing (SMP - overview)
- Other RTOS (1 CFU)
  - NuttX
  - Zephyr



Readings/Bibliography

- "Hard Real-Time Computing Systems" (3rd edition) - Giorgio Buttazzo
- "Hands-On RTOS with Microcontrollers" - Brian Amos
- "Modern Operating Systems" (5th edition) - Andrew S. Tanenbaum, Herbert Bos
- "Operating System Concepts" (10th Edition) - Abraham Silberschatz, Peter B. Galvin, Greg Gagne

Teaching methods

Both parts of the course are composed of theoretical and practical lessons

Assessment methods

A written exam at the end of each part.

Office hours

See the website of Francesco Barchi

See the website of