Filière : Maîtrise d'Informatique
Unité d'Enseignement :
Matière : Conception des systèmes d'exploitation
Semestre(s) d'ouverture : S7

Volume Horaire en présence d'enseignants : 30
 

Répartition (C, TD, TP, préciser si autre) : 12 C, 18 TD-TP

 
Volume Horaire estimé de travail personnel : 40

 
Pré-requis :
 
connaissances de la Licence d'Informatique, notamment ALP, ALM, intro. Systèmes et Réseaux
(systèmes et réseaux vus du point de vue de l'utilisation)
Objectifs :
Développer les principes fondamentaux de la conception des systèmes d'exploitation : gestion du parallélisme, gestion de l'information, allocation de ressources.
Illustrer ces principes par leur mise en oeuvre dans divers cas d'application, non nécessairement limités aux systèmes d'exploitation "classiques" ; liens avec réseaux, systèmes répartis.
 
Programme :
1. Programmation concurrente

Processus, threads, synchronisation (exclusion mutuelle, sémaphore, moniteurs, etc.). Problèmes classiques de synchronisation (producteur-consommateur, etc.). Illustration possible avec
la programmation concurrente en Java. Mise en oeuvre, noyau d'ordonnancement. Application : un petit noyau de système (ex. système embarqué spécialisé).

2. Gestion de l'information.

Nommage, liaison, application à la gestion de fichiers, à la liaison de programmes. Liaison dynamique (divers cas d'application). fichiers.gestion de ressources. Cette partie doit aussi montrer l'applicabilité de ces principes aux systèmes répartis.

3. Gestion de ressources.

Gestion de mémoire, hiérarchie de mémoire. Notions de cache, aspects quantitatifs (un peu d'éval. de perf.).  Gestion globale de ressources, problèmes d'interblocage et privation. Introduction à la sécurité, mécanismes de protection et leur mise en oeuvre.

Bibliographie sommaire :
 
Abraham Silberschatz, Galvin, Gagne, Operating System Concepts, 6th ed., Addison-Wesley, 2001
Tanenbaum & Woodhull, Operating Systems Design & Implementation, Prentice Hall, 2000
pour petite partie (nommage, fichiers essentiellement) : Tanenbaum & van Steen, Distributed Systems, Prentice Hall, 2002