| Chapitre 5 : Les mécanismes de synchronisation |
Les sémaphores
Définition
Le sémaphore est un objet de type abstrait. Il est caractérisé par la donnée d’un compteur et d’une file d’attente.
Le sémaphore est accessible par l’intermédiaire de deux opérations :
Exemple :
Sémaphore S ;
S.P() ;
S.V() ;
Remarque:
Un sémaphore doit être toujours initialisé par une valeur entière non négative.
Intuitivement, le sémaphore est une barrière qu’il faut franchir avant de rentrer en section critique :
Remarque :
Le sémaphore est un objet partagé ; P et V sont exécutées en exclusion mutuelle
Implémentation
Le type sémaphore peut être défini de la manière suivante :
Remarques :