Projet de conception de système d'exploitation SEOC - 4PMISEX2

Informations générales

  • Volumes horaires

    • CM 2.0
    • Projet 0
    • TD 26.0
    • Stage 0
    • TP 0
    • DS 0

    Crédits ECTS

    Crédits ECTS 0.0

Objectif(s)

Etudier les bases de la conception d'un noyau de système d'exploitation et l'écriture de code "bas-niveau" réalisant l'interaction entre le système et le matériel (une machine avec un processeur RISCV).
On introduit la notion de temps partagé via l'implantation d'un mécanisme d'ordonnancement préemptif pour processus légers.

Contact Sebastien VIARDOT

Contenu(s)

L'ensemble du projet se fait sur une plateforme à base de RISCV émulé par qemu.

1. écriture d'un pilote d'affichage, interface série dans un premier temps, puis gestion d'un contrôleur PCI express et carte vidéo.
2. gestion du temps via l'horloge matérielle
3. conception d'un mécanisme d'ordonnancement de processus simple, création des processus, changement de contexte explicite, puis changement de contexte déclenché par l'horloge matérielle.
4. mécanisme d'endormissement des processus, de terminaison
5. Extensions possibles : synchronisation, pilotes d'entrées, mémoire virtuelle, ...



Prérequis

Programmation en langage C

Contrôle des connaissances



Informations complémentaires

Cursus ingénieur->Filière SEOC->Semestre 7

Bibliographie

  • 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