Next: Fonctionnement de la mémoire
Up: PRINCIPES DE BASE
Previous: PRINCIPES DE BASE
Le sémaphore est un objet informatique se présentant (en schématisant) sous la forme d'une variable commune aux process s'y intéressant. Cet objet à deux compteurs associés NCNT
et ZCNT
.
Un sémaphore est créé en donnant un identificateur (de type entier) puis est accédé au moyen du descripteur (de type entier) retourné lors de sa création.
Les propriétés des sémaphores sont les suivantes:
- Un sémaphore supporte les opérations d'initialisations à une valeur plus grande ou égale à zéro, ainsi que les opérations d'incrémentations et de décrémentations.
- Si la valeur d'un sémaphore est décrémentée alors que le sémaphore vaut zéro, le process exécutant cette opération est mis en attente jusqu'a moment où un autre process incrémente le sémaphore. En cas de mise en attente, le compteur NCNT est incrémenté. Il totalise le nombre de process en attente.
- Un process peut être en attente sur la valeur zéro d'un sémaphore. Dans ce cas c'est le compteur ZCNT qui totalise le nombre de process en attente.
- Les process en attente sont réactivés dans leurs ordres d'arrivée (FIFO)
- Un process en attente est réactivé lorsque le sémaphore à une valeur supérieur ou égales à zéro ou lorsque le process reçoit un signal ou lorsque que le sémaphore est détruit.
WEBER Luc
Mon May 10 13:41:34 MET DST 1999