- Cours (CM) 26h
- Cours intégrés (CI) -
- Travaux dirigés (TD) 14h
- Travaux pratiques (TP) 12h
- Travail étudiant (TE) -
Langue de l'enseignement : Français
Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant
Description du contenu de l'enseignement
Cette UE 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 à acquérir
À l'issue de cette UE, un étudiant saura :
- comment fonctionnent les systèmes d'exploitation
- comment le matériel et les systèmes d'exploitation interagissent
- identifier précisément les tâches d'administration système
- identifier et résoudre les problèmes de concurrence dans les programmes
- écrire des programmes partageant des ressources
- organiser l'accès à des ressources partagées
- comment fonctionnent les systèmes d'exploitation
- comment le matériel et les systèmes d'exploitation interagissent
- identifier précisément les tâches d'administration système
- identifier et résoudre les problèmes de concurrence dans les programmes
- écrire des programmes partageant des ressources
- organiser l'accès à des ressources partagées
Bibliographie, lectures recommandées
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/
- 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/
Pré-requis recommandés
À l'entrée dans cette UE, un étudiant devrait savoir :
- écrire des programmes complexes en langage C
- écrire des programmes utilisant les primitives systèmes POSIX
- écrire des programmes simples en assembleur
- écrire des programmes complexes en langage C
- écrire des programmes utilisant les primitives systèmes POSIX
- écrire des programmes simples en assembleur