8. Exercices complets d’ordonnancement
Les deux énoncés emploient tous deux A.. Eau Q1, mais leurs nombres et leur modèle RR diffèrent. Garder les tableaux séparés. Les valeurs ci-dessous proviennent des énoncés et corrigés inspectés, rapprochés des explications du lab 6; elles ne dépendent pas des nombres déformés de la transcription.
8.1 Grand énoncé Q1 : mêmes arrivées, RR discret q=1
Arrivées à zéro, sans coût de commutation. Besoins A15/B9/C3/D6/E12 minutes, priorités 4/7/3/1/6,10 étant la priorité la plus haute de l’échelle. Durée totale 45.
| Politique | Décisions/chronologie | Fins A, B, C, D, E | Traitement moyen |
|---|---|---|---|
| RR q=1 | Rotation ABCDE, retirer immédiatement les finis | 45,35,13,26,42 | 32,2 min |
| Priorité non préemptive | B0–9, E9–21, A21–36, C36–39, D39–45 | 36,9,39,45,21 | 30 min |
| FCFSABCDE | A0–15, B15–24, C24–27, D27–33, E33–45 | 15,24,27,33,45 | 28,8 min |
| SJF | C0–3, D3–9, B9–18, E18–30, A30–45 | 45,18,3,9,30 | 21 min |
En RR, les deux premiers tours durent 10 min et donnent 2 min CPU à chacune. Au troisième, C termine à 13; les tours suivants ne lui réservent plus de case. D finit à 26, B à 35, E à 42, A à 45. Les restes, et non la position fixe d’une colonne par tour, déterminent les prochaines sorties. En priorité, on suit le niveau, même si D plus court reste dernier. En SJF, les petites fins diminuent la moyenne; RR cherche plutôt une distribution régulière des possibilités d’exécution. Le travail total 45 est le même et ne suffit pas à classer la qualité du service.
8.2 Grand énoncé Q2 : six politiques, cinq arrivées
| Tâche | Arrivée | CPU | Priorité, 4 haute |
|---|---|---|---|
| P1 | 5 | 5 | 3 |
| P2 | 3 | 1 | 1 |
| P3 | 2 | 2 | 3 |
| P4 | 1 | 1 | 4 |
| P5 | 0 | 8 | 2 |
Tous les vecteurs ci-dessous sont dans l’ordre P1, P2, P3, P4, P5, pas dans l’ordre du Gantt. La somme CPU vaut 17 et aucune politique n’introduit de temps mort. Calculer T=F−A et W=T−CPU; le tableau des arrivées est commun à toutes les méthodes.
FCFS :
Code (text) · sélectionner pour copier
P5[0,8] P4[8,9] P3[9,11] P2[11,12] P1[12,17]
F = (17,12,11,9,8)
T = (12,9,9,8,8) → moyenne 9,2
W = ( 7,8,7,7,0) → moyenne 5,8
P5 seul à 0 commence et n’est pas interrompu. Les arrivées P4/P3/P2/P1 s’empilent. Par exemple P1 finit à 17 mais son traitement est 12 puisqu’il arrive à 5. Le lab 6 utilise cet exemple pour distinguer la colonne d’arrivée du premier moment d’exécution.
SJF/SPN sans préemption :
Code (text) · sélectionner pour copier
P5[0,8] P4[8,9] P2[9,10] P3[10,12] P1[12,17]
F = (17,10,12,9,8)
T = (12,7,10,8,8) → moyenne 9
W = ( 7,6,8,7,0) → moyenne 5,6
P5 doit encore finir avant tout choix, même si les suivants sont plus courts. À 8, P4 et P2 ont la même durée 1; le corrigé prend P4 arrivé avant. Ensuite P2, P3 et P1 suivent leurs durées croissantes. Laisser le CPU vide à 0 pour anticiper P4 ne serait pas appliquer la politique demandée.
SRT préemptif :
Code (text) · sélectionner pour copier
P5[0,1] P4[1,2] P3[2,4] P2[4,5] P1[5,10] P5[10,17]
F = (10,5,4,2,17)
T = ( 5,2,2,1,17) → moyenne 5,4
W = ( 0,1,0,0,9) → moyenne 2
À 1, P4 demande 1 contre 7 restantes à P5 et préempte. À 2, P4 finit et P3 a 2 contre 7; il passe. À 3, P2 arrive avec 1 et P3 a encore 1 : le corrigé garde P3 à égalité. À 4, P2 est choisi. À 5, P1 avec 5 passe devant le reste 7 de P5. P5 termine à 17 après la fin de P1 à 10. Comparer les restes; ne pas réutiliser le besoin initial 8 de P5 ou 2 de P3 à chaque décision.
RR q=2 :
Code (text) · sélectionner pour copier
P5[0,2] P4[2,3] P3[3,5] P5[5,7] P2[7,8]
P1[8,10] P5[10,12] P1[12,14] P5[14,16] P1[16,17]
F = (17,8,5,3,16)
T = (12,5,3,2,16) → moyenne 7,6
W = ( 7,4,1,1,8) → moyenne 4,2
À 2, le nouveau P3 est admis avant la réinsertion de P5 dans la convention du corrigé. La file contient donc P4, P3, P5. P4 finit à 3 sans garder une seconde unité; P2 et le dernier passage de P1 s’arrêtent aussi après une seule. Un quantum est une limite, pas une durée minimale garantie. Les durées par tâche totalisent bien 5/1/2/1/8.
Priorité sans préemption :
Code (text) · sélectionner pour copier
P5[0,8] P4[8,9] P3[9,11] P1[11,16] P2[16,17]
F = (16,17,11,9,8)
T = (11,14,9,8,8) → moyenne 10
W = ( 6,13,7,7,0) → moyenne 6,6
P5 garde le CPU de 0 à 8. À 8, P4 est le plus prioritaire. P3 et P1 ont le même niveau 3; P3 passe par ancienneté d’arrivée 2 contre 5. P2 niveau 1 est dernier malgré son besoin d’une seule unité. Une courte durée ne remplace pas le critère de priorité.
Priorité avec préemption :
Code (text) · sélectionner pour copier
P5[0,1] P4[1,2] P3[2,4] P5[4,5] P1[5,10] P5[10,16] P2[16,17]
F = (10,17,4,2,16)
T = ( 5,14,2,1,16) → moyenne 7,6
W = ( 0,13,0,0,8) → moyenne 4,2
P4 interrompt P5 à 1; P3 est ensuite plus prioritaire que P5. P2 à 3 n’interrompt pas P3 : préemptif ne veut pas dire préempter à toute arrivée, seulement quand la règle le justifie. À 4, P5 reprend une unité; à 5, P1 plus prioritaire le suspend jusqu’à 10. P5 a encore 6 et finit à 16; P2 finit à 17. Ne pas perdre les unités déjà exécutées pendant les reprises.
| Politique | Tmoyen | Wmoyen | Différence à observer |
|---|---|---|---|
| FCFS | 9,2 | 5,8 | Long P5 initial non interrompu |
| SJF | 9 | 5,6 | Même bloc initial, choix courts ensuite |
| SRT | 5,4 | 2 | Les courtes arrivées interrompent selon les restes |
| RR q=2 | 7,6 | 4,2 | Tours et égalité de frontière explicites |
| Priorité sans préemption | 10 | 6,6 | Priorité aux points de choix seulement |
| Priorité avec préemption | 7,6 | 4,2 | Arrivées supérieures interrompent |
RR et priorité préemptive ont ici les mêmes moyennes, mais l’attente de P2 vaut 4 contre 13. Les vecteurs individuels sont donc nécessaires pour expliquer l’équité; une moyenne isolée masque la différence. Les six traces et leurs calculs sont vérifiés dans le rapport local.
8.3 Petit énoncé : partage idéal et erreur FCFS
Arrivées communes à 0, coût nul; CPU A10/B6/C2/D4/E8; priorités 3/5/2/1/4,5 haute. Le premier cas prescrit un partage égal idéal continu, sans quantum donné. Les autres exécutent un seul job jusqu’à sa fin.
Partage fluide : toutes les tâches reçoivent 1/5 de la puissance. C doit accumuler 2 unités CPU : 2/(1/5)=10 unités écoulées. À 10, chacune aconsommé 2; C sort, restes A8/B4/D2/E6. Sur 10–18, les quatre reçoivent chacune 2 à 1/4 et D finit. Sur 18–24, les trois reçoivent 2 et Bfinit. Sur 24–28, A etEreçoivent 2 et E finit; sur 28–30, A seul finit ses 2.
| Intervalle | Part individuelle | Tâche finie et instant |
|---|---|---|
| 0–10 | 1/5 | C10 |
| 10–18 | 1/4 | D18 |
| 18–24 | 1/3 | B24 |
| 24–28 | 1/2 | E28 |
| 28–30 | 1 | A30 |
Moyenne de traitement (10+18+24+28+30)/5=22min. La somme CPU reste 30; 110 est la somme des traitements individuels qui se chevauchent. Le lab 6 développe une analogie d’une opération par seconde : à 1/5 opération/seconde, une opération demande 5 s, deux demandent 10 s. C’est une illustration de proportion; l’exercice réel garde ses minutes et ses unités CPU. Un cinquième de puissance ne signifie pas cinq cœurs physiques indépendants.
Priorité non préemptive : B5→E4→A3→C2→D1. B[0,6] E[6,14] A[14,24] C[24,26] D[26,30]; moyenne 20. Les bornes 24–26 de Csont confirmées par l’image du lab, même si l’ASRles déforme.
FCFS imposé C, D, B, E, A : C[0,2] D[2,6] B[6,12] E[12,20] A[20,30]; moyenne 14. SJF donne le même ordre et la même moyenne parce que l’ordre FCFS choisi est déjà croissant en durée. Ce n’est pas une égalité générale de politiques.
Le PDF du petit corrigé contient une incohérence : ordre 10,6,2,4,8, puis fins 4,8,14,22,32 et moyenne 16. Les fins totalisent bien 80, mais ne correspondent ni à cet ordre ni à l’énoncé. Une charge 30 sans temps mort ne peut finir à 32, et une première durée 10 ne finit pas à 4. Même l’ordre alternatif ABCDEdonnerait 10/16/18/22/30, moyenne 19,2. Retenir 14 selon l’ordre explicite CDBEA; aucune rectification écrite de l’enseignant n’est prétendue et l’écart reste à clarifier s’il intervient dans une évaluation.
Enfin, ne pas transférer 22 au grand RR q=1 : le modèle fluide partage continuellement, tandis que le tourniquet discret sert successivement les tâches. Le quantum prescrit et l’ordre des sorties changent les instants de fin. Le Q2 CFS du petit énoncé est entièrement développé en §6.3 avec ses poids et fractions.