Course Details

Operating systems

MF0368

Course
Operating systems
Code
MF0368
Academic Year
2025/2026
Curriculum Year
2024/2025
Degree Programme
CHEMICAL SCIENCES
Curriculum
000 - CORSO GENERICO
Course coordinator
Credits
12
Lecture Hours
96
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Integrated learning activity
Course Delivery
OBB - Obbligatoria
Year
2
Teaching period
Secondo Semestre, Primo Semestre
Campus
VERCELLI
Teaching language
Italian
Course Contents
The course consists of two modules: OPERATING SYSTEMS 1 and OPERATING SYSTEMS 2.
The module OPERATING SYSTEMS 1 focuses on the following topics: introduction to operating systems, process management and synchronization and concurrent programming, and memory management.
The module OPERATING SYSTEMS 2 focuses on the following topics: I/O management, design and implementation of file systems, and virtualization techniques.
Reference Texts
Andrew S. Tanenbaum & Herbert Bos, "Modern Operating Systems: Global Edition, 5/E", Pearson, 2023. ISBN-13: 9781292459660.
Also available in Italian: Andrew S. Tanenbaum & Herbert Bos, "I moderni sistemi operativi, 5/Ed," Pearson, 2023. ISBN: 9788891931955.
Learning Outcomes
The course aims to illustrate the principles, the various issues and current technical and methodological solutions for the design and management of the components of modern operating systems in charge of (1) managing and synchronizing processes and threads, (2) managing memory, (3) managing I/O devices, (4) managing mass storage, and (5) virtualizing hardware resources.
Prerequisites
Programming 1 and 2, Computer Architecture.
Teaching Methods
Module OPERATING SYSTEMS 1: both class lectures and lab lectures.
Module OPERATING SYSTEMS 2: class lectures only.
Additional Information
Monitoring of the learning process: students will complete assignments in the computer lab under the supervision of the teacher.

Students with physical disabilities, Learning Disabilities or Special Education Needs can requestspecific se rvices and tools via the "Staff Sviluppo e Coordinamento
Carriere e Servizi alle Studentesse e agli Studenti", consulting the University webpage: https://www.uniupo.it/en/services/services-students-physical-or-learning-disabilities.
Students with disabilities, learning disabilities or special education needs, once they have contacted the University Staff, can refer to the tutor in charge of the course to define the examination modalities, concerning academic aspects.
Assessment Methods
Each module has its own exam (that can be written or oral) and, in order to pass the exam of the whole course, it is required to get a passing grade in each module. The final grade is agreed upon by the teachers of the two modules, taking into account the final result obtained in each one of them.
Module OPERATING SYSTEMS 1: written or oral exam consisting of 4-6 questions and 1-3 programming assignments on different course topics. The final grade will be based on the score obtained on the single questions and assignments.
Module OPERATING SYSTEMS 2: mandatory written examination and optional oral examination (only if the grade of the written examination is greater than or equal to 27/30). The examination consists in one or more questions posed in the form of theoretical questions or exercises; each question is associated with a specific score; the final grade will be determined as the sum of the scores got in each question. Topics of the examination (both written and oral) include those presented during classroom lessons and detailed in the course program.
Detailed Syllabus
Module OPERATING SYSTEMS 1: the program of this module consists of the following topics:
1) General notions on the architecture of a multi-user system.
2) Operating system kernel.
3) Process and thread management and synchronization, and concurrent programming.
4) Deadlocks.
5) Memory management.
6) System calls for process and thread managements and synchronization in Unix systems.
Module OPERATING SYSTEMS 2: the program of this module consists of three main topics:
1) I/O Management: the architecture of the I/O subsystem; I/O interface; kernel I/O subsystems; storage devices; disk structure, management, and scheduling; RAID systems. power management.
2) File systems: file system organizations; file system structures; file system design and implementation techniques; mechanisms for file sharing and protection; disk free space management; disk space allocation; performance and efficiency of file systems; consistenza; backup and restore.
3) Virtualization: virtual machines and hypervisors; CPU virtualization, issues and solution for the virtualization of the x86 architecture; Memory virtualization; I/O virtualization; the Cloud.
Expected Learning Outcomes
Knowledge and understanding: learning the role and the key principles underneath the behavior, the design and the development of the components of modern operating systems in charge of (1) managing processes and threads (e.g., CPU scheduling), (2) managing memory (e.g., virtual memory), (3) managing I/O devices (e.g., I/O subsystems), (4) managing mass storage (e.g., file systems), and (5) virtualizing hardware resources (e.g., hypervisors).
Applying knowledge and understanding: applying the general principles in a real system, in particular, using Unix system calls and tools.
Making judgements: autonomously evaluating, in terms of efficiency of management and performance, the best techniques to manage processes, memory, I/O devices and mass storage, as well as for the virtualization of hardware resources.
Communication skills: communicating and justifying the fundamentals principles of operating systems related to the management of processes, memory, I/O devices and mass storage as well as to the techniques for the virtualization of hardware resources.
Learning skills: autonomously learning the methodological skills needed to evaluate and use system calls and techniques for the management of processes, memory, I/O devices and mass storage, as well as for the virtualization of hardware resources, not studied during the course.

Moduli

Course year 2
Code MF0370
Course Operating systems: operating systems 2
Lecturers PAOLO BELLONI
SSD INF/01
Campus VERCELLI
Curriculum CORSO GENERICO
Credits 6
Course year 2
Code MF0369
Course Operating systems: operating systems 1
Lecturers SERENA NICOLAZZO
SSD INF/01
Campus VERCELLI
Curriculum CORSO GENERICO
Credits 6
Last update:09-09-2026 00:14:31