10. Dérouler l'exemple numérique complet
10.1. Données et ordre des types
Le support utilise quatre types, dans cet ordre : dérouleurs de bande, tables traçantes, scanners, CD-ROM. Il y a trois processus et les données suivantes :
Code (text) · sélectionner pour copier
E = (4,2,3,1) A initial = (2,1,0,0)
| Processus | Allocations C[i] | Requêtes R[i] |
|---|---|---|
| P1 | (0,0,1,0) | (2,0,0,1) |
| P2 | (2,0,0,1) | (1,0,1,0) |
| P3 | (0,1,2,0) | (2,1,0,0) |
P1 détient un scanner. P2 détient deux dérouleurs et le CD-ROM. P3 détient une table et deux scanners. Les demandes indiquent ce qu'il faut pouvoir leur accorder dans l'analyse, en plus de ce qu'ils détiennent déjà.
10.2. Reconstruire et contrôler A
Le contrôle par type donne :
| Type | Instances allouées, somme de la colonne C | Disponibles A | Total E |
|---|---|---|---|
| Dérouleurs | 0 + 2 + 0 = 2 | 2 | 4 |
| Tables | 0 + 0 + 1 = 1 | 1 | 2 |
| Scanners | 1 + 0 + 2 = 3 | 0 | 3 |
| CD-ROM | 0 + 1 + 0 = 1 | 0 | 1 |
Ainsi, C1 + C2 + C3 + A = E. Le manque initial de scanners et de CD-ROM est déterminant pour les premières comparaisons. Aucune des trois lignes de C n'est entièrement nulle; aucun processus n'est marqué par la règle initiale.
10.3. Premier choix : P3
On compare les requêtes aux disponibilités A_sim = (2,1,0,0) :
- P1 demande (2,0,0,1). Les dérouleurs, tables et scanners ne posent pas de problème pour cette demande, mais un CD-ROM est requis alors qu'aucun n'est disponible. P1 n'est pas admissible.
- P2 demande (1,0,1,0). Sa demande de dérouleur peut être satisfaite, mais un scanner est requis alors qu'aucun n'est disponible. P2 n'est pas admissible.
- P3 demande (2,1,0,0), exactement les quantités disponibles. Toutes les composantes satisfont la condition; l'égalité est autorisée.
P3 peut donc terminer dans la simulation. Ses allocations antérieures sont C3 = (0,1,2,0) : une table et deux scanners. On les ajoute au disponible :
Source TeX à sélectionner et copier
A_{sim}=(2,1,0,0)+(0,1,2,0)=(2,2,2,0).On marque P3 puis on reprend la recherche parmi P1 et P2. P3 n'a pas rendu de dérouleur qu'il détenait auparavant : sa première composante de C3 est nulle. Il ne faut pas confondre sa demande de deux dérouleurs avec ses allocations initiales.
10.4. Deuxième et troisième choix : P2, puis P1
Avec A_sim = (2,2,2,0), P1 reste impossible : il manque encore le CD-ROM. P2 est maintenant admissible, car (1,0,1,0) ≤ (2,2,2,0). Sa terminaison rend C2 = (2,0,0,1) :
Source TeX à sélectionner et copier
A_{sim}=(2,2,2,0)+(2,0,0,1)=(4,2,2,1).On marque P2. La quatrième composante est passée à 1, ce qui lève le refus qui empêchait P1 de terminer. La comparaison (2,0,0,1) ≤ (4,2,2,1) est maintenant vraie. P1 rend son scanner, C1 = (0,0,1,0) :
Source TeX à sélectionner et copier
A_{sim}=(4,2,2,1)+(0,0,1,0)=(4,2,3,1).On marque P1; les trois processus sont éliminés de l'analyse.
10.5. Trace récapitulative et conclusion justifiée
| Étape | Processus choisi | Allocations remises à disposition | A_sim après l'étape |
|---|---|---|---|
| Initiale | Aucun | — | (2,1,0,0) |
| 1 | P3 | (0,1,2,0) | (2,2,2,0) |
| 2 | P2 | (2,0,0,1) | (4,2,2,1) |
| 3 | P1 | (0,0,1,0) | (4,2,3,1) |
La séquence simulée est P3 → P2 → P1. Tous les processus sont marqués, donc aucun interblocage n'est détecté dans cet état. À la fin, A_sim = E : toutes les allocations de cet exemple sont revenues dans le disponible de la simulation.
Le contrôle final est utile, mais il ne remplace pas les comparaisons qui justifient chaque étape. Additionner arbitrairement toutes les lignes de C à A donnerait aussi E, même sans démontrer qu'un premier processus peut réellement être choisi. C'est l'admissibilité successive qui donne sa valeur au raisonnement.
La demande est comparée au disponible; le gain net de disponibilité est l’allocation antérieure C. Chaque choix est admissible dans cet état.
Source : Ajout pédagogique du portail, depuis le maître S08 déclaré; les tableaux de la lecture constituent l’alternative textuelle. · 10. Dérouler