Operating System Design Project - 4PMISEX2

Informations générales

  • Number of hours

    • Lectures 2.0
    • Projects 0
    • Tutorials 26.0
    • Internship 0
    • Laboratory works 0
    • Written tests 0

    ECTS

    ECTS 0.0

Goal(s)

To study the basics of designing an operating system kernel and writing "low-level" code that achieves the interaction between the system and the hardware (a machine with a RISCV processor). The notion of time-sharing is introduced through the implementation of a preemptive scheduling mechanism for light processes.

Contact Sebastien VIARDOT

Content(s)

The entire project is done on a RISCV-based platform emulated by qemu.
1. Write a display driver, serial interface at first, then manage a PCI express controller and video card.
2. Time management via hardware clock
3. Design a simple process scheduling mechanism, create the processes, explicitly switch context, and then switch context triggered by the hardware clock.
4. Mechanism of dormancy of processes, termination 5. Possible extensions: synchronization, input drivers, virtual memory,...



Prerequisites

C programming

Test



Additional Information

Course list
Curriculum->SEOC->Semester 7

Bibliography

  • Andrew S. Tanenbaum : Modern Operating Systems et Operating Systems Design and Implementation
  • Abraham Silberschatz, Peter B. Galvin et Greg Gagne : Operating Systems Concepts.
  • https://github.com/riscv/riscv-isa-manual