School of engineering in Physics, Applied Physics, Electronics & Materials
This is a specialisation course, for students who chose a Computer Science oriented track.
Notions seen include Operating System kernel design and writing low-level C code interacting with a standard PC hardware.
Time-sharing is introduced by implementing a simple preemptive scheduler.
1. Design of IO driver in C
=> students will use pointers to write directly to the video memory of the PC
2. Time-sharing using the PC hardware clock
=> this implies writing an interrupt handler to manage the hardware clock (with a very small part in 32 bits x86 assembly)
3. Writing a simple preemptive scheduler
=> this is the main part of the projet: students will first use a cooperative scheduler to share time between processes, then they will connect the scheduling fonction to the hardware clock handler in order to implement preemptive scheduling.
Computer Architecture. Basic Programming. Operating Systems and Concurrent Programming.
Attendance is mandatory to validate this course: each unjustified absence is penalised by 2 points and the final mark will be 0/20 for any students who misses 3 or more classes.
Students will take a practical exam at the end of the semester to validate the course (all documents are forbidden).
The course exists in the following branches:
Andrew S. Tanenbaum : Modern Operating Systems et Operating Systems Design and Implementation
Abraham Silberschatz, Peter B. Galvin et Greg Gagne : Operating Systems Concepts.
Date of update June 30, 2020