Remonter Suivant

1  Brefs rappels --- Définitions

Un sémaphore est une structure de données composée Le compteur peut prendre des valeurs entières positives, négatives, ou nulles. Lors de la création d'un sémaphore, le compteur est initialisé à une valeur donnée positive ou nulle ; la file d'attente est vide.

Un sémaphore est manipulé par les deux actions atomiques suivantes :
wait(s)
(aussi nommée P(s) ou down(s)) décrémente le compteur associé au sémaphore. Si sa valeur est négative, le processus appelant se bloque dans la file d'attente.
signal(s)
(aussi nommée V(s), up(s), ou post(s)) incrémente le compteur. Si le compteur est négatif ou nul, un processus est choisi dans la file d'attente est devient actif.
Deux utilisations sont faites des sémaphores : Bien souvent on peut assimiler la valeur positive du compteur au nombre de processus pouvant acquérir librement la ressource ; et assimiler la valeur négative du compteur au nombre de processus bloqués en attente d'utilisation de la ressource.


Remonter Suivant