- Les structures de données utilisées :
-
- Il y a n processus et m types de ressources.
- Les Ei représentent le nombre total d'instances de chaque ressource.
- Les Ai représentent le nombre d'instances disponibles de chaque ressource.
- La matrice C représente les allocations courantes. Les lignes correspondent
aux processus (il y en a n), et les colonnes correspondent aux ressources
(il y en a m). L'élément Ci,j indique le nombre de ressources
détenues par le processus i de la ressource j.
- La matrice R (request) représente les demandes de ressources, sur le même
format que la matrice C. Ainsi, la case Ri,j donne le nombre de
ressources de type j demandées par le processus i.
- On dira que A < B, ssi Ai < Bi, pour tout i.
- L'algorithme
-
- Tant qu'au moins un processus non marqué est tel que Ri,* < A
- Choisir l'un des processus non marqué tel que Ri,* < A
- on ajoute Ci,* à A
- on marque Pi.
Cet algorithme choisit un processus dont les demandes peuvent être satisfaite, et l'exécute jusqu'à la fin.
Il libère alors ses ressources et le marque. À la fin, tous les processus non marqués sont en interblocage.
|
|
Détection plusieurs ressource de chaque type
|