Architecture des systèmes d'exploitation

  • 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

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/

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