Course Details

Operating systems

MF0365

Course
Operating systems
Code
MF0365
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
Primo Semestre, Secondo Semestre
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
Introduction to operating system, process and thread management, process and thread synchronization and concurrent programming, memory management. Process and thread management and synchronization in Unix.
I/O management.
Design and implementation of file systems.
Reference Texts
A. S. Tanenbaum, H. Bos. Modern Operating Systems, 5th edition.
On the DIR platform students can find additional material.
Learning Outcomes
Understanding the role and the main principles of operating systems, the basic notions on process and thread managemen, memory management, I/O management, file systems, virtualization techniques.
Prerequisites
The notions from Computer Architecture, Programming 1 & 2
Teaching Methods
Lectures pointing out the goals of mechanisms and policies.
Practical exercises in which the concepts illustrated during the lectures
are applied in practice.
Programming sessions in the computer lab where system calls are described and used.
Additional Information
Students with physical disabilities, Learning Disabilities or Special Education Needs can request specific services 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
Written exam consisting questions on different course topics, including programming with system calls. The grade, jointly established by the lecturers, requires a sufficient grade for both course modules. It will be based on the score obtained on the single questions and assignments.
The evaluation takes into account correctness and completeness of answers, the ability to organize knowledge and to reason, the ability to apply knowedge, the quality of presentation, the correct use of technical terms.
The final evaluation measures the proportion of achievement of the learning objectives.
Detailed Syllabus
General notions on the architecture of a multi-user system. Operating system kernel.

Process and thread management.

Process and thread synchronization, concurrent Programming. Deadlocks.

Memory management.

Processes in the Unix system. General notions on Unix system calls. System calls for process management, thread library. System calls and library functions for process and thread synchronization.

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.

Device drivers: driver architecture; driver in the xv6 operating system; the IDE driver in the xv6 operating system.

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; backup and restore.

Resource virtualization techniques: processor virtualization techniques: general concepts, software and hardware techniques for the virtualization of the x86 processor family; memory virtualization techniques: general concepts, software and hardware techniques for the memory virtualization in the x86 processor family
Expected Learning Outcomes
Knowledge and understanding: Understanding the role and the main principles of operating systems, the basic notions on process and thread management, management of central memory, secondary storage, I/O devices, virtualization techniques.
Applying knowledge and understanding: Applying the general principles in a real system, in particular, using Unix system calls. Making judgements: students will be able to autonomously evaluate the best ways to use processes and threads and manage system memories, I/O devices and file systems. Communication skills: students will learn to communicate and justify the basic principles of operative systems.

Moduli

Course year 2
Code MF0366
Course Operating systems: operating systems 1
SSD INF/01
Campus ALESSANDRIA
Curriculum CORSO GENERICO
Credits 6
Course year 2
Code MF0367
Course Operating systems: operating systems 2
SSD INF/01
Campus ALESSANDRIA
Curriculum CORSO GENERICO
Credits 6
Last update:09-09-2026 00:14:31