Cours de Programmation Concurrente

Université Grenoble Alpes / Polytech INFO4

Responsable: Fabienne Boyer
Intervenants: Fabienne Boyer (Fabienne.Boyer@imag.fr), Noel de Palma (Noel.depalma@imag.fr)

Organisation des cours

VOLUMES
8 CM d’1h30
8 TD de 1h30
6h de TP en C
1 TP en libre-service

OBJECTIFS
L’objectif de l’enseignement est de maitriser la programmation de processus concurrents. Nous étudions tout d'abord les notions de processus et de threads, du point de vue de leur mise en oeuvre au niveau du système d'exploitation et de leur usage au travers de la librairie C. Nous demandons aux étudiants de programmer un shell (interprèteur de commandes).

Nous voyons ensuite les outils de synchronisation, ceux de bas niveau (verrous) et ceux de plus haut niveau (moniteurs, sèmaphores, sections critiques conditionnelles). Nous demandons aux étudiants d'expérimenter ces outils en réalisant des programmes concurrents en Java.

Enfin nous abordons la mise en oeuvre de serveurs à base de modèle d'exécution concurrente. Nous voyons ici comment les threads et les processus peuvent etre utilisés pour mettre en oeuvre des serveurs concurrents. Nous considérons en particulier les serveurs multi-threadés ainsi que les serveurs à base d'exécuteurs.

Plan des cours