LOG710 Hiver 2014 Ordonnancement de CPU Solution des Exercices 1. On suppose que les processus suivant (Table 1) arrivent pour s’exécuter aux instants indiqués dans la table. Chaque processus va s’exécuter pour un temps égal au cycle CPU indiqué. En répondant aux questions utiliser l’ordonnancement non préemptif. Processus P1 P2 P3 Instant d’arrivée Cycle CPU 0.0 8 0.4 4 1.0 1 Table 1 a. Quel est le temps de rotation moyen pour ces processus avec un algorithme d’ordonnancement FCFS? Diagramme de Gantt avec un ordonnancement FCFS : P1 0 P2 8 P3 12 13 Calculons le temps de rotation moyen pour ces processus Processus Temps de rotation P1 8 P2 12 – 0.4 P3 13 - 1 Total 31.6 Moyenne 10.53 b. Quel est le temps de rotation moyen pour ces processus avec un algorithme d’ordonnancement SJF? Diagramme de Gantt avec un ordonnancement SJF P1 0 P3 8 P2 9 13 Calculons le temps de rotation moyen pour ces processus Processus Temps de rotation P1 8 P2 13 – 0.4 P3 9-1 Total 28.6 Moyenne 9.53 c. L’algorithme SJF est supposé améliorer la performance. Notez qu’on choisit d’exécuter le processus P1 à l’instant 0 car on ne sait pas que deux processus plus courts arriveraient un peu plus tard. Calculer le temps de 1 rotation moyen si la CPU est mise oisive (idle) pour la première unité de temps et ensuite SJF est utilisé. On rappelle que les processus P1 et P2 sont en attente durant le temps où la CPU est oisive donc cette solution devrait augmenter leur temps d’attente. Un tel algorithme pourrait être connu sous le nom ordonnancement sachant le future! Diagramme de Gantt avec un ordonnancement sachant le future idle 0 P3 P2 1 P1 2 6 14 Calculons le temps de rotation moyen pour ces processus Processus Temps de rotation P1 14 P2 6 – 0.4 P3 2-1 Total 20.6 Moyenne 6.86 2. On considère l’ensemble de processus suivant (Table 2). Les processus arrivent tous à l’instant 0 et admis dans le système dans l’ordre P1, P2, P3, P4 et P5. Processus P1 P2 P3 P4 P5 Cycle CPU 10 1 2 1 5 priorité 3 1 3 4 2 Table 2 a. Dessiner le diagramme de Gantt correspondants à l’ordonnancement de ces processus en utilisant respectivement les algorithmes FCFS, SJF, ordonnancement avec priorité non préemptif (un petit nombre signifie une plus haute priorité) et RR avec un quantum = 1? Diagramme de Gantt pour : FCFS P1 P2 0 10 P3 11 P4 13 P5 14 19 SJF P2 0 P4 1 P3 P5 2 4 P1 9 19 Ordonnancement avec priorité non préemptif P2 0 P5 1 P1 6 P3 16 P4 18 19 2 RR avec un quantum = 1 P1 0 P2 1 P3 2 P4 3 P5 4 P1 5 P3 6 P5 7 P1 8 P5 9 P1 10 P5 11 P1 12 P5 13 P1 14 P1 15 P1 16 P1 17 P1 18 19 b. Quel est le temps de rotation de chaque processus pour chaque algorithme d’ordonnancement? Processus P1 P2 P3 P4 P5 FCFS 10 11 13 14 19 SJF 19 1 4 2 9 Avec Priorité 16 1 18 19 6 RR (q=1) 19 2 7 4 14 c. Quel est le temps d’attente de chaque processus pour chaque algorithme d’ordonnancement? Processus P1 P2 P3 P4 P5 Total Moyenne FCFS 0 10 11 13 14 48 9.6 SJF 9 0 2 1 4 16 3.2 Avec Priorité 6 0 16 18 1 41 8.2 RR (q=1) 9 1 5 3 9 27 5.4 d. Quel est l’algorithme qui donne un temps d’attente moyen minimum? SJF 3