- Docente: Alessio Mora
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- Moduli: Alessio Mora (Modulo 1) Matteo Sartini (Modulo 2)
- Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Mechatronics (cod. 6009)
-
from Feb 17, 2026 to Apr 09, 2026
-
from Apr 14, 2026 to Jun 04, 2026
Course contents
Module 1 of this course provides a comprehensive introduction to the fundamental concepts and mechanisms underlying modern operating systems. It begins by presenting the role, structure, and objectives of an operating system, focusing on how it abstracts and manages hardware resources such as CPU, memory, input/output devices, and files to provide an execution environment for programs. The course then examines processes and threads, explaining how programs are represented and executed, and how the operating system manages their lifecycle, resources, and multiprogramming. It addresses concurrency and synchronization issues, including mutual exclusion, race conditions, and deadlocks, and presents the main mechanisms used to coordinate interacting processes. CPU scheduling is analyzed to understand how the operating system allocates processor time and evaluates different scheduling policies in terms of performance, fairness, and efficiency. The course also covers memory management, including virtual memory, paging, and segmentation, highlighting how memory is allocated, protected, and organized to support efficient execution. Finally, it introduces file systems and I/O management, explaining how persistent data and hardware devices are handled through file abstractions, file operations, and device access mechanisms.
Module 2 of this course complements with practical exercises.
Readings/Bibliography
A. S. Tanenbaum, H. Bos. «I Moderni Sistemi Operativi»
Office hours
See the website of Alessio Mora
See the website of Matteo Sartini