Matière
Architecture des systèmes d'exploitation
Description
Ce cours présente le fonctionnement des principaux composants architecturaux des systèmes d'exploitation (noyau, gestion mémoire, processus et threads, fichiers et périphériques), l'interface avec le matériel (interruptions, traduction d'adresses, gestion des périphériques) et les mécanismes sous-jacents (pagination, synchronisation, commutation, ordonnancement, etc.). Les mécanismes de synchronisation et les problèmes de concurrence sont abordés à travers la programmation en C avec les threads POSIX et le partage de mémoire entre processus.
Compétences requises
-
Savoir écrire des programmes complexes en langage C
-
Savoir écrire des programmes utilisant les primitives systèmes POSIX
- Savoir écrire des programmes simples en assembleur
Compétences visées
À l’issue de cet enseignement, les étudiants seront capables :
-
de comprendre les mécanismes de base d’un système d’exploitation
-
d’identifier les tâches d’administration système
-
d’identifier et de résoudre les problèmes de concurrence dans les programmes
-
de rédiger des programmes partageant des ressources
-
d’organiser l’accès à des ressources partagées
Discipline(s)
- Informatique
Bibliographie
Références :
- A. Silberschatz, P. B. Galvin, G. Gagne, Operating System Concepts (9th Edition), Wiley
- R. Arpaci-Dusseau, A.C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, http://pages.cs.wisc.edu/~remzi/OSTEP/