Systèmes d'explotation
Ref: 2EL6030
Description
Cet électif fait partie du parcours InfoSec. L'objectif de cet électif est de donner les connaissances et les compétences afin de réaliser un système d’exploitation multitâche gérant la mémoire des différents processus, gérant des interruptions et capable de réaliser des entrées-sorties.
Période(s) du cours
SG8
Prérequis
Les prérequis pour ce cours sont les suivants:
- Bonne maîtrise du langage C (par exemple en ayant suivi le cours de compilation du parcours Infosec)
- Un plus serait utile de connaître l'assembleur RISC-V (par exemple en ayant suivi le cours d'architecture des ordinateurs du parcours Infosec)
- Bonne maîtrise du langage C (par exemple en ayant suivi le cours de compilation du parcours Infosec)
- Un plus serait utile de connaître l'assembleur RISC-V (par exemple en ayant suivi le cours d'architecture des ordinateurs du parcours Infosec)
Syllabus
Les différents cours sont organisés de la manière suivante:
I Cours 1 :
- Histoire des systèmes d’exploitation
II Cours 2 :
- Démarrage du système d'exploitation
- Programmation des registres de contrôle
- Niveaux de privilège
- Gestion des interruptions
- Appels système
III Cours 3 :
- Ordonnancement des processus- Algorithmes d'ordonnancement
- Changement de contexte
IV Cours 4 :
- Primitives de synchronisation en espace noyau et utilisateur
- Problème de concurrence
- Concurrence réelle et pseudo-concurrence
V Cours 5 :
- Gestion de la mémoire virtuelle
- Segmentation
- Pagination
- Protection mémoire
- Chargement de binaire
- Algorithme d'allocation mémoire
Composition du cours
CM 15h
TP 18h
Ressources
Résultats de l'apprentissage couverts par le cours
Comprendre les concepts mis en oeuvre lors de la conception d'un système d'exploitation.
Comprendre l'impact des services offerts par un système d'exploitation sur les performances et la sécurité des applications.
Comprendre l'impact des services offerts par un système d'exploitation sur les performances et la sécurité des applications.
Support de cours, bibliographie
- Andrew Tanenbaum, " Systèmes d'exploitation ", 3eme Edition, Pearson.
- Russinovich, Mark, Solomon, David, Ionescu, Alex, "Windows Internals", 6eme edition, Microsoft Press.
- Daniel Bovet, Marco Cesati, "Understanding the Linux Kernel", 2nd Edition, O'Reilly.
- Love, Robert , "Linux Kernel Development: A thorough guide to the design and implementation of the Linux kernel (Developer's Library) ", Addison-Wesley.