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 :