Synchronisation de processus

RESUME

Dans un système multiprocessus, l’ordonnanceur alloue le processeur à chaque processus selon un algorithme d’ordonnancement : la politique choisie conditionne l’ordre d’exécution des processus et très souvent, les exécutions des processus s’entrelacent les unes avec les autres. Chaque processus dispose d’un espace d’adressage propre et indépendant, protégé par rapport aux autres processus. Malgré tout, les processus peuvent avoir besoin de communiquer entre eux pour échanger des données. Cet échange de données peut se faire par le biais d’une zone de mémoire partagée, par le biais d’un fichier ou encore en utilisant les outils de communication offerts par le système d’exploitation. Dans tous ces cas, les processus ne sont plus indépendants et ils effectuent des accès concurrents aux ressources logicielles que sont la mémoire partagée, le fichier ou encore les outils de communication.

Plus généralement, une ressource désigne toute entité dont a besoin un processus pour s’exécuter.
Une ressource est caractérisée par un état et par son nombre de points d’accès, c’est-à-dire le nombre de processus pouvant l’utiliser en même temps.

L’utilisation d’une ressource par un processus s’effectue en trois étapes. La première étape correspond à l’étape d’allocation de la ressource au processus qui consiste à donner la ressource au processus qui la demande. Une fois que le processus a pu obtenir la ressource, il l’utilise durant un certain temps (deuxième étape) puis il rend la ressource : c’est la dernière étape de restitution de la ressource. Les phases d’allocation et de restitution d’une ressource doivent assurer que la ressource est utilisée conformément à son nombre de points d’accès.

Une situation où au moins deux processus, possédant déjà un ensemble de ressources, sont en attente infinie les uns des autres pour l’acquisition d’autres ressources est qualifiée d’interblocage.

Plusieurs schémas de synchronisation entre processus ont été définis afin de garantir une bonne utilisation des ressources par les processus et d’une manière plus générale une communication entre processus cohérente et sans perte de données. Dans le cadre de ce cours, nous étudierons les schémas de synchronisation :
 l’exclusion mutuelle ;

Séance 11 : Synchronisation de processus

Cours

ED



Documents joints:
info document
(PDF - 78 kio)
info document
(PDF - 1019.5 kio)