Ce support de cours est réservé à une partie importante des systèmes d'exploitation : la programmation concurrente et les problèmes d'interblocage et de communication inter-processus. Son contenu est enseigné aux étudiants de troisième année Licence Informatique.
Le contenu de ce support de cours est conforme à l'architecture des programmes issue de l'uniformisation de la troisième 3ème Année de la Licence "Systèmes informatiques" (établie par arrêté ministériel n° 567 du 05 Aout 2015).
L'ouvrage est organisé en cinq chapitres :
- Le chapitre 1 "Introduction au problème de parallélisme de processus" présente les systèmes de tâches, leur parallélisme, les problèmes nés de ce parallélisme et définit les concepts de base : ressource critique, section critique, exclusion mutuelle, … etc..
- Le chapitre 2 "Méthodes et outils de synchronisation" passe en revue les principales méthodes et outils qui ont été proposés pour résoudre le problème des accès concurrents : solutions logicielles, solutions matérielles, sémaphores, …etc. Le chapitre présente aussi quelques problèmes de synchronisation classiques : producteur/consommateur , lecteurs/rédacteurs et philosophes.
- Le chapitre 3 "Outils de synchronisation avancés" présente d'autres outils de synchronisation caractérisés par leur haut degré d'abstraction : les moniteurs, les régions critiques, les chemins critiques, … etc.
- Le chapitre 4 "Le problème de l'interblocage" est réservé exclusivement au problème de l'interblocage : définition, conditions d'apparition, méthodes de traitement, … etc.
- Le chapitre 5 "La communication interprocessus" introduit les méthodes de communication utilisées dans les systèmes d'exploitation.