Systèmes d Exploitation I Chapitre III : Exercice Ordonnancement Amine DHRAIEF ESEN, Univ. Manouba
Exercice I On considère les cinq exécutions de processus suivants (la durée est exprimée en seconde) :
Exercice I 1. En supposant un temps de commutation de contexte négligeable. Donner les diagrammes de Gantt et les temps de séjour moyen obtenus à l'aide des algorithmes d'ordonnancement FIFO (le Premier Arrivé est le Premier Servi PAPS) Shortest Remaining Time et Tourniquet (avec un quantum de 1) 2. Si le temps de commutation est de 0,5 seconde, quel est alors le temps moyen de traitement dans le cas d'un ordonnancement SRT et d'un ordonnancement tourniquet. Qu'en déduisez-vous?
Correction Exercice I FIFO (le Premier Arrivé est le Premier Servi PAPS (ou First- Come First-Served FCFS) Diagramme de GANTT P1 P2 P3 P4 P5 0 7 11 13 15 16 Temps de Séjour Moyen : ((7-0)+(11-1)+(13-1)+(15-2)+(16-3) ) / 5 = = (7 +10+12+13+13)/5 = 11
Correction Exercice I Shortest Remaining Time Diagramme de GANTT P1 P3 P3 P5 P4 P4 P2 P2 P2 P2 P1 P1 P1 P1 P1 P1 1 3 4 6 10 16 Temps de Séjour Moyen : ((16-0)+(10-1)+(3-1)+(6-2)+(4-3) ) / 5 = = (16 +9+2+4+1)/5 = 6.4
Correction Exercice I
Correction Exercice I Tourniquet (avec un quantum de 1) Diagramme de GANTT P1 P2 P3 P1 P4 P2 P5 P3 P1 P4 P2 P1 P2 P1 P1 P1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Temps de Séjour Moyen : ((16-0)+(13-1)+(8-1)+ (10-2)+(7-3) ) / 5 = = (16 +12+7+8+4)/5 = 9.4
Correction Exercice I P1 P3 P3 P5 P4 P4 P2 P2 P2 P2 P1 P1 P1 P1 P1 P1 1 3 4 6 10 16 Shortest Remaining Time Nombre de commutation de contexte = 5 Temps de Séjour Moyen : ((16 +(5 *0.5)-0)+(10+(4*0.5)-1)+(3+(1*0.5)-1)+(6+(3*0.5)- 2)+(4+(2*0.5)-3) ) / 5 = = ((18-0) + (12-1)+ (3.5-1)+(7.5-2) +(5-3) )/5 =7.8
Correction Exercice I P1 P2 P3 P1 P4 P2 P5 P3 P1 P4 P2 P1 P2 P1 P1 P1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Cas du tourniquer Nombre de commutation de contexte = 13 Temps moyen de séjour = (16 +(13*0.5) -0) +(13 +(12*0.5) 1) + (8+(7*0.5) -1 ) + (10+(9*0.5) -2) +(7+(6*0.5)-3) =(22.5-0) +(19-1) +(11.5 1) +(14.5-2)+ (10-3) =14.1
Correction Exercice I Shortest Remaining Time reste la meilleur solution même en considérant le temps de commutation de contexte
Exercice II Dans le cas de la stratégie d'allocation du processeur avec algorithme du tourniquet, indiquer quels sont les effets des choix suivants pour le quantum q, sachant que s est le temps de changement de contexte et que t est le temps moyen d exécution du processeur avant d être bloqué en attente d'une entrée-sortie(t >> s et epsilon << s) 1. q = infini 2. q = epsilon 3. q = s 4. q = t 5. s < q <t 6. q > t
Correction Exercice II 1. q = infini FIFO: le processus termine son exécution sur le processeur et passe ensuite la main, rendement t/(s+t) q = epsilon progression très lente, overhead très important, rendement proche de 0 epsilon/(epsilon + s) 2. q=s (s) est le temps de changement de contexte, exécution pendant au plus s, rendement s/(s+s) = 0.5 3. q = t (t) est le temps moyen d'utilisation du processeur entre deux événements bloquants, le processus monopolise le processeur jusqu'à sa prochaine entréesortie. On favorise les processus I/O-Bound, rendement t/(s+t) 4. s < q <t processus quelconque rendement q/(s+q) 5. q > t On favorise les processus qui ne font que du calcul (CPU-Bound), rendement t/(s+t)
Exercice III On suppose que les processus sont arrivés dans l ordre P1,P2,P3,P4,P5, à l instant 0. 1. Dessinez quatre diagrammes de Gantt illustrant l exécution de ces processus en utilisant l ordonnancement FCFS, SJF, une priorité sans réquisition (plus petit numéro indique plus forte priorité) et RR (avec le quantum vaut 2). 2. Quel est le temps moyen de séjour/d attente d un processus pour chacun de ces algorithmes d ordonnancement?
Correction exercice III l ordonnancement FCFS P1 P2 P3 P4 P5 10 11 13 14 19 Temps moyen de séjour =((10-0)+(11-0)+(13-0)+(14-0)+(19-0))= (10+11+13+14+19)/5=13.4ms Temps moyen d attente =((0-0)+(10-0)+(11-0)+(13-0)+(14-0)) /5 = (10+11+13+14)/5 =9.6ms
Correction exercice III l ordonnancement SJF P2 P4 P3 P5 P1 1 2 4 9 19 Temps moyen de séjour =((1-0)+(2-0)+(4-0)+(9-0)+(19-0))= (1+2+4+9+19)/5=7ms Temps moyen d attente =((0-0)+(1-0)+(2-0)+(4-0)+(9-0)) /5 = (1+2+4+9)/5 =3.2ms
Correction exercice III une priorité sans réquisition P2 P5 P1 P3 P4 1 6 16 18 19 Temps moyen de séjour =((1-0)+(6-0)+(16-0)+(18-0)+(19-0))/5 =12ms Temps moyen d attente =((0-0)+(1-0)+(6-0)+(16-0)+(18-0))/5 =8.2ms
Correction exercice III Round Robin avec q=2 P1 P2 P3 P4 P5 P1 P5 P1 P5 P1 P1 2 3 5 6 8 10 12 14 15 17 19 Temps moyen de séjour =((19-0)+(3-0)+(5-0)+(6-0)+(15-0))/5 =9.6ms Temps moyen d attente =((17-0)+(2-0)+(3-0)+(5-0)+(14-0))/5 =8.2ms
Exercice IV (Examen Jan 2011) 5 processus sont en attente d exécution, et ont respectivement annoncé au système qu ils auraient besoin de s exécuter pendant 9, 6, 3, 5 et X unités de temps. L ordonnancement est sans réquisition. En conséquence, discuter selon la valeur de X pour donner les ordres d exécution qui vont minimiser le temps moyen d exécution. En d autres termes, on vous invite à proposer une stratégie d ordonnancement, qui sera sûrement différente de FIFO!
Correction Exercice IV (Examen Jan 2011) Si X est < 3, l ordonnancement qui va minimiser le temps moyen d exécution est X,3,5,6,9. Si X est > 9, l ordonnancement qui va minimiser le temps moyen d exécution est 3,5,6,9,X Plus généralement, la stratégie que l on propose est SJF. Les entités annoncent leur temps d exécution, et le système les ordonne selon SJF. C est bien cette stratégie qui donne le meilleur temps d exécution moyen.
Exercice Ordonnancement Considérons les trois processus suivants : Date d arrivée P1 0 Temps de traitement estimé (ms) 2CPU + 4I/O + 2CPU + 2I/O + 2CPU Priorité Bronze P2 1 2CPU + 2I/O + 3CPU + 3I/O + 1CPU Or P3 1 1CPU + 2I/O + 1CPU + 1I/O + 1CPU Argent
Exercice Ordonnancement 1. Donnez le diagramme de GANTT correspondant à l algorithme d ordonnancement du processeur selon la politique tourniquet ou Round Robin (RR) avec un quantum Q=2 et que l ordre de services des requêtes d E/S pour le disque se fait selon une politique First Come First Served (FCFS). 2. Refaire la question 1) en tenant compte de la priorité des processus dans le RR. En déduire les temps de réponse ainsi que les temps d attente de chaque processus.
Correction exercice ordonnancement 1 - CPU (RR avec Q=2) P1 P2 P3 X P1 P2 P3 P2 P1 P3 X P2 2 4 5 6 8 10 11 12 14 15 16 17 Disque (FCFS) X P1 P2 P3 P1 P3 P2 2 6 8 10 12 14 16
Correction exercice ordonnancement 2 - CPU (RR avec Q=2, Priorité) P1 P2 P3 P1 P2 P3 X P1 P2 P3 P1 1 3 4 5 7 8 11 13 15 16 18 Disque (FCFS) X P2 P3 P1 P2 P3 P1 3 5 7 11 13 14 16
Correction exercice ordonnancement TR TA P1 18 12 P2 14 8 P3 15 12