- Docente: Francesco Barchi
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Inglese
- Moduli: Francesco Barchi (Modulo 1) (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea Magistrale in Electronic Engineering for Intelligent Vehicles (cod. 5917)
-
Orario delle lezioni (Modulo 1)
dal 17/09/2025 al 17/12/2025
Conoscenze e abilità da conseguire
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.
Contenuti
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
Testi/Bibliografia
- "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
Metodi didattici
Both parts of the course are composed of theoretical and practical lessons
Modalità di verifica e valutazione dell'apprendimento
A written exam at the end of each part.
Orario di ricevimento
Consulta il sito web di Francesco Barchi
Consulta il sito web di