Information Technology Reference
In-Depth Information
init (mutex, 1);
Réservation :
P(mutex); -- prelude de section critique
si nbplace > 0
alors
reserver une place;
nbplace = nbplace - 1;
fsi
V(mutex);
-- postlude de section critique
12.3.2 Le schéma de l'allocation de ressources
Présentation du schéma
Le schéma d'allocation de n exemplaires de ressources critiques à un ensemble de
processus est une généralisation du schéma précédent, dans lequel on considère à
présent que l'on a n sections critiques. Le sémaphore res d'allocation de ressources
est initialisé au nombre d'exemplaires de ressources initialement disponibles, soit n,
c'est-à-dire que l'on fait correspondre un jeton par exemplaire de ressources. Pour
un processus, acquérir un exemplaire de ressource est alors synonyme d'acquérir le
jeton correspondant, soit une opération P(res). Rendre la ressource est synonyme de
rendre le jeton associé, soit une opération V(res).
init (res, n);
Allocation : P(res);
Utilisation de la ressource res
Restitution : V(res);
Interblocage
Considérons à présent la situation suivante pour laquelle deux processus P1 et P2
utilisent tous deux deux ressources critiques R1 et R2 selon le code suivant. Les
deux ressources R1 et R2 sont gérées par le biais de deux sémaphores SR1 et SR2
initialisés à 1.
Processus P1 Processus P2
début début
P(SR1); P(SR2);
P(SR2); P(SR1);
Utilisation de R1 et R2; Utilisation de R1 et R2;
V(SR2); V(SR1);
V(SR1); V(SR2);
fin fin
Initialement, les deux ressources R1 et R2 sont libres. Le processus P1 commence
son exécution, demande à accéder à la ressource R1 en faisant l'opération P(SR1) et
obtient R1 puisque la ressource est libre. Maintenant, le processus P1 est commuté
par l'ordonnanceur au bénéfice du processus P2. Le processus P2 commence donc à
 
 
Search WWH ::




Custom Search