Search for contacts, projects,
courses and publications

Operating Systems


Pedone F.

Course director

Martignetti L.


Milosevic N.



The course will cover operating systems principles and architecture, process management (i.e., concurrency, process synchronization, threads), memory management (i.e., basic concepts, virtual memory), storage management (i.e., file systems interface and implementation, I/O systems), and operating systems protection and security.


The goal of this course is to expose students to important topics related to operating systems. Operating systems are a fundamental part of any computer system and prevalent in virtually every application. This course will survey conceptual design issues of such complex programs, and explain the most basic knowledge of operating systems, teaching the difference between the kernel and user modes, and developing key approaches to operating system design and implementation. The course will allow students to understand the implications of some techniques through a hands-on approach.

Teaching mode

In presence

Learning methods

Students will learn by following classes, reading suggested material, doing assignments, and working on an operating system project throughout the semester.

Examination information

The overall course grade is based on a midterm exam, a course project developed throughout the semester, and a final exam.