TD 3 1 Politiques d`ordonnancement 2 Efficacité avec la politique

Transcription

TD 3 1 Politiques d`ordonnancement 2 Efficacité avec la politique
Institut Galilée
Licence 2
Systèmes d’exploitation et Réseaux
TD 3
Ordonnancement
1
Politiques d’ordonnancement
L’objectif de l’exercice est de comparer 4 politiques d’ordonnancement différentes : FIFO (First
In-First Out), SJF (ou PCTE, Shortest Job First), SRTF (ou PCTER, Shortest Remaining Time First)
et RR (ou Tourniquet, Round Robin). Afin de comparer ces différentes politiques, nous utiliserons tout
au long de l’exercice la même description de processus s’exécutant sur le système (cf. tableau ci-dessous).
Précisions : Ces processus ne font pas d’entrées-sorties et leur priorité ne change pas en cours
d’exécution. On ne tiendra pas compte du temps de commutation des processus. Les processus sont
exécutés sur le même processeur.
Numéro de processus
1
2
3
4
5
Date de début d’exécution
0
2
5
6
7
Durée supposée d’exécution
8
2
5
3
1
Pour chacune des politiques FIFO, SJF, SRTF, RR (avec un quantum de 2 unités de temps) :
1. Donnez le diagramme de Gantt de l’exécution des processus.
2. Calculez le temps moyen de traitement et le temps moyen d’attente de cette politique.
3. Calculez le temps moyen de réponse. Que constatez-vous ?
4. Que se passe-t-il lorsque 2 processeurs sont disponibles ? et avec 3 ?
2
Efficacité avec la politique RR
Le rendement d’un processeur est défini comme le rapport entre le temps pendant lequel l’unité
centrale exécute les processus et le temps total de traitement.
Soit un système sur lequel les processus s’exécutent en moyenne pendant un temps de T secondes. La
commutation de processus nécessite C secondes. Pour un ordonnancement RR avec un quantum de Q
secondes, donnez la formule qui donne le rendement R du processeur quand :
1. Q > T
2. C < Q < T
3. Q = C
4. Q tend vers +1 (et donnez une interprétation)
5. Q tend vers 0 (et donnez une interprétation)
3
Politique multiple
L’ordonnancement dans les systèmes actuels combine plusieurs classes d’ordonnancement utilisées
selon le type de processus qui s’exécute :
— politique FIFO pour les tâches très prioritaires et fortement contraintes (temps réel).
— politique RR pour les tâches système.
— politique RR à multiniveaux pour les tâches utilisateur.
1
3.1
Round Robin à multiniveaux
On trouvera ci-dessous un algorithme pour la politique RR à multiniveaux. On suppose n files notées
F0 , F1 , . . ., Fn où les processus sont rangés (un processus n’apparaı̂t que dans une seule file). Pour
chaque processus P , P.f ile est le numéro de la file où se trouve P . Pour chaque file Fi , P op(Fi ) retourne
le premier processus de la file Fi et l’enlève de la file. L’expression Fi ← P met en queue de file Fi le
processus P .
Ces files ont des priorités décroissantes (i.e. on exécute les processus présents dans la file F0 avant ceux de
la file F1 , etc.). La fonction Schedule renvoie le processus élu (0 s’il n’y a pas de processus en attente).
En cas de changement de processus (à cause d’une demande d’entrée-sortie ou d’une fin de quantum), si
le processus stoppé n’a pas terminé ou si un nouveau processus est créé, la procédure Insert est appelée.
procedure Insert(P)
if P is new then
F0 ← P
P.f ile ← 0
else
q ← P.f ile
j ← min(n − 1, q + 1)
Fj ← P
P.f ile ← j
end if
end procedure
function Schedule
i←0
while i < n do
if Size(Fi ) > 0 then
elu ← P op(Fi )
return elu
end if
i←i+1
end while
return 0
end function
1. Montrer par un exemple que cet algorithme peut créer une situation de famine.
2. Modifier l’algorithme pour éviter le problème de famine.
3.2
Exemple avec politique mixte
On considère maintenant le système complet d’ordonnancement avec une file temps réel (RT, mode
FIFO), une file de processus système (Sys, méthode RR avec quantum 3), une file de processus utilisateur
(User, méthode RR avec quantum 2). L’élection d’un processus suit un protocole simple. Pour chaque
élection, l’ordonnanceur consulte la file RT. Si des processus sont en attente dans cette file, il les exécute
tous en tenant compte de la politique de la file. Si aucun processus n’est en attente dans cette file,
l’ordonnanceur passe à la file Sys et effectue le même traitement. Si aucun processus n’est présent dans
la file Sys, il effectue le même traitement avec la file User. Cette opération s’effectue à chaque élection.
Processus
1
2
3
4
5
6
7
8
9
10
Type
RT
Sys
User
RT
RT
Sys
Sys
User
RT
Sys
Date de début d’exécution
0
0
2
3
4
9
10
15
20
22
Durée supposée d’exécution
2
3
6
1
2
4
3
5
3
3
Donnez le diagramme de Gantt de l’exécution des processus en utilisant cette politique mixte.
2