Volumes horaires
- CM 0
- Projet 0
- TD 0
- Stage 0
- TP 20.0
- DS 0
Crédits ECTS
Crédits ECTS 1.5
Objectif(s)
Ce cours est un cours de spécialité.
Il permet de mettre en application les connaissances du cours de système et est destiné aux étudiants ayant choisi une dominante informatique dans leur cursus.
On y étudie 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.
Christophe RIPPERT
Contenu(s)
1. écriture d'un pilote pour l'écran
=> cette séance portera principalement sur la manipulation (arithmétique) des pointeurs en C pour écrire dans la mémoire vidéo de la machine
2. gestion du temps via l'horloge matériel
=> on implantera dans cette partie un traitant d'interruption pour l'horloge matérielle de la machine
3. conception d'un mécanisme d'ordonnancement de processus simple
=> il s'agit de la partie principale du projet : on commencera par travailler sur le mécanisme permettant de passer la main d'un processus à un autre (context-switch) puis on branchera la fonction d'ordonnancement sur l'horloge matérielle gérée précédemment pour automatiser l'alternance des processus.
Prérequis
1A : Architecture des ordinateurs, programmation en C
2A : Systèmes d’exploitations et programmation concurrente
Type d'évaluation (ex : TP, assiduité, participation) : Contrôle continu, basé sur un système de validation de chaque séance et une évaluation finale à partir du code rendu. Présence obligatoire, -2 points par absence injustifiée, 0/20 d'office à partir de 3 absences injustifiées
SESSION NORMALE :
Type d'examen (écrit, oral, examen sur machine) : Pas d'examen, contrôle continu
SESSION DE RATTRAPAGE : PAS DE RATTRAPAGE
N1=CC
N2=N1 (pas de rattrapage)
Le cours est programmé dans ces filières :
- Cursus ingénieur - Filière SEOC - Semestre 7
Andrew S. Tanenbaum : Modern Operating Systems et Operating Systems Design and Implementation
Abraham Silberschatz, Peter B. Galvin et Greg Gagne : Operating Systems Concepts.