- Docente: Francesco Barchi
- Credits: 6
- SSD: ING-INF/05
- Language: English
- 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)
-
from Sep 17, 2025 to Dec 17, 2025
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