INF583 — Operating Systems
Principles and Programming
École Polytechnique
Master 1 — Computer Science and Electrical Engineering
Reference in the course directory.
Lectures: Albert Cohen.
Labs: Albert Cohen.


This course introduces the principles and design of modern operating systems (internal view) as well as operating system programming interfaces (external view). The course covers topics in concurrency, resource abstraction and virtualization, and their translation into operating system components (processes, memory management, file systems, communication). We will deconstruct the links between the low level components of the kernel and higher level services, considering key notions in concurrency, modularity and protection. We will also learn how to write programs that interact with operating systems. The course will conclude with introductory presentations about active research and innovation areas in virtual machines and mobile embedded systems.

Course Material


No term exam since 2012. Instead, the memory allocation lab will serve as a basis for an oral test, completed with additional questions. The students are encouraged to work in pairs for home work on this lab, but the oral examination is individual. The duration of the oral test is 30mn.

Past exams.
Note: the course had a slightly different contents before 2009, focusing more on system programming.

Labs and Project

The labs are in French for now. Based on student feedback, we will consider translating them to English.

Les sujets de TDs.

Aide en ligne (synthétique et imprimable) de Christophe Blaess:

Additional Documentation