Presentation of the class

Fran├žois Trahay

Presentation of the class

  • Objectives of the class:
    • Understand the internals of operating systems
    • Know how to interact with the OS from a program
  • Structure of the class:
    • [U] userland oriented sessions
    • [K] kernel oriented sessions
    • [G] more general sessions


  • Processes
    • CI1 [U] Threads
    • CI2 [U] Concurrent programming
    • CI3 [G] Synchronization
    • CI4 [K] System calls
    • CI5 [K] Interruption and scheduling
    • CI6 [K] Sprint: finalization of the scheduler
  • Memory
    • CI7 [U] Virtual memory
    • CI8 [K] Memory Management Unit
    • CI9 [G] Architecture
    • CI10 [K] Sprint
  • Input/Output
    • CI11 [U] Input/Output
    • CI12 [U] Synthesis: mini-project
    • CI13 [K] File systems
    • CI14 [K] Sprint
  • [CI15] Exam (lab)

Kernel sessions: XV6

During the [K]sessions, you will develop an OS

  • Based on the xv6 OS

  • On the computer architecture RISC-V

  • Development of new OS mechanisms

  • sprint sessions:

    • finalization of development
    • evaluation by teachers


  • 20% - Continuous assessment during sprints:
    • how did you implement this mechanism of the OS?
    • what happens if X?
  • 80% - graded lab exam with several parts :
    • course question(s)
    • explain how you implemented an OS mechanism
    • develop an application

Evaluation of the class

  • At the end of the class, students evaluate the class.
  • Objective: improve the class