M1 MOSIG Operating Systems

Table of Contents


---> misc
| ---> 2016
| ---> 2015
| ---> 2014
| ---> 2013
| ---> 2012
`--> Agenda

Operating Systems

General Informations

These lectures are given by Arnaud Legrand and take place in every Tuesday (F111) and Wednesday (F112) from 13h30 15h00. Practical sessions will be given by Benjamin Negrevergne and will take place every Wednesday (F107;F204) from 15h15 to 18h30 (yes, I know, it's late…).


Understanding of the structure and internal functions of an operating system (OS). System programming skills, capacity of understanding and extending existing kernels and OS.


Basic knowledge of computer hardware, C Programming, User vision of an operating system.

Program and expected schedule

Check last year's schedule to get a foretaste. Here comes a tentative schedule. It is subject to evolution depending on students and unexepected events.

The lecture will be strongly based on the Silberschatz book. Therefore, for each lecture, I try to indicate which chapter it corresponds to. It is also heavily based on David Mazieres's lecture on Operating System. Many many thanks to him for providing the sources of such a series of high level lectures.

Week number Lecture (Tuesday) Lecture (Wednesday) Practical Session Wednesday
(21,22 Sep. 2010)
Syllabus + Introduction to Operating System (Chapter 1+2) Memory Management: Segmentation and Fragmentation (Chapter 8-9) C Programming, Memory Management, Debugging
(stack, heap, function call, passing arguments, malloc/free, segmentation fault, valgrind)
(28,29 Sep. 2010)
Memory Management: End of previous lecture. Memory Management: Paging (Chapter 9) Memory Management: End of previous lecture (Chapter 9) Memory Allocator: implementing malloc and free
(1st assignment)
(5,6 Oct 2010)
Linking Process Management: Processes and Inter Process Communication (Chapter 3) Finishing previous session on memory allocation
(12,13 Oct 2010)
On strike. No lecture. End of previous lecture (Chapter 3) Process Management: fork, exec, system, wait, getpid, open, ... Solutions
(19,20 Oct 2010)
End of previous lecture (Chapter 3) + Threads (Chapter 4) Threads (Chapter 4) + Race condition Process Management: IPC (pipes, shared memory segments)
43 Vacation Vacation Vacation
(3 Nov 2010)
Thread Synchronization (Chapter 6) Thread Synchronization (Chapter 6) Simple Thread management (creation, join, lock)
(9,10 Nov 2010)
*Mid-Term Exam* Reviewing the exam Process synchronization: dining philosophers
(16,17 Nov 2010)
Deadlocks (Chapter 7) + CPU scheduling if time allows Process Management: CPU scheduling (Chapter 5) Process synchronization: reader-writer (second assignment)
(23,24 Nov 2010)
Storage management: Mass storage Structure + I/O system (Chapter 12+13) Storage management: File-system (Chapter 10+11) Performance evaluation of parallel program
(30 Nov, 1 Dec 2010)
Introduction to Nachos Huge NACHOS playtime NACHOS: implementing system calls (read/write)
(7,8 Dec 2010)
Protection and Security (Chapter 15) Open question session. Recap on the whole lecture. NACHOS: implementing fork (read/write)
(14 Dec 2010)
*Final Exam* in the morning

Course Organization

There will be a mid-term exam and a final exam whose respective weights in the final grade are one third and two thirds. The course gives 6 credits (ECTS).


  • David Mazieres's lecture on Operating System
  • A. Silberchatz, P.Galvin, G.Gagne, Operating System Concepts, John Wiley & Sons Inc


    Several copies of this book are available at the library. It is very well written for students so you could even buy it.

  • Tanenbaum, Modern Operating Systems, Prentice Hall

    tanenbaum height="324"></p>