M1 MOSIG Operating Systems
Table of Contents
Sitemap
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…).
Objectives
Understanding of the structure and internal functions of an operating system (OS). System programming skills, capacity of understanding and extending existing kernels and OS.
Prerequisites
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 |
38 (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) |
39 (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) |
40 (5,6 Oct 2010) |
Linking | Process Management: Processes and Inter Process Communication (Chapter 3) | Finishing previous session on memory allocation |
41 (12,13 Oct 2010) |
On strike. No lecture. | End of previous lecture (Chapter 3) | Process Management: fork, exec, system, wait, getpid, open, ... Solutions |
42 (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 |
44 (3 Nov 2010) |
Thread Synchronization (Chapter 6) | Thread Synchronization (Chapter 6) | Simple Thread management (creation, join, lock) |
45 (9,10 Nov 2010) |
*Mid-Term Exam* | Reviewing the exam | Process synchronization: dining philosophers |
46 (16,17 Nov 2010) |
Deadlocks (Chapter 7) + CPU scheduling if time allows | Process Management: CPU scheduling (Chapter 5) | Process synchronization: reader-writer (second assignment) |
47 (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 |
48 (30 Nov, 1 Dec 2010) |
Introduction to Nachos | Huge NACHOS playtime | NACHOS: implementing system calls (read/write) |
49 (7,8 Dec 2010) |
Protection and Security (Chapter 15) | Open question session. Recap on the whole lecture. | NACHOS: implementing fork (read/write) |
50 (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).
Bibliography
- 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
height="324"></p>