Syst`eme d`exploitation MIAGE 2 : Ordonnancement - fil

Transcription

Syst`eme d`exploitation MIAGE 2 : Ordonnancement - fil
Système d’exploitation MIAGE 2 :
Ordonnancement
Licence MIAGE — Université Lille 1
Pour toutes remarques : [email protected]
Semestre 6 — 2008-09
1
Généralités sur les ordonnancements
Exercice 1 — Choix d’un quantum.
Un algorithme d’ordonnancement d’exécution détermine un ordre d’exécution des processus qu’il ordonne.
1. Si n processus doivent être ordonnés sur une unité centrale, combien d’ordonnancements différents
peut-on avoir pour le traitement par lot ?
2. Par des mesures, on montre que les processus s’exécutent en moyenne pendant un temps T avant d’être
bloqués en attente d’une entrée-sortie. Une commutation de contexte se fait en S secondes. Pour un
ordonnancement circulaire de quantum Q, estimez l’efficacité de l’ordonnancement pour les valeurs
de Q suivantes :
Q = ∞, Q = S, Q > T, Q ≡ 0, S < Q < T.
Pour ce faire, vous devez spécifier au moins 3 critères d’efficacité et expliciter — quand c’est possible
— l’impact qu’a le choix du quantum sur eux.
Exercice 2 — Choix d’une stratégie.
Cinq travaux attendent d’être exécutés. Leurs temps d’exécution sont 9, 6, 3, 5 et x. Dans quel ordre
doivent-ils être lancés pour minimiser le temps de réponse moyen ?
2
Manipulation de diagrammes de Gantt
Exercice 3 — .
Les processus suivants sont tous crées à l’instant 0 et on suppose avoir leur temps d’exécution total ainsi
que leurs priorités :
Processus temps en cycle priorité
P1
10
3
P2
1
1
P3
2
3
1
4
P4
P5
5
2
Une grande priorité est associé à un petit chiffre.
1
Question.
1. Dessinez les diagrammes de Gantt qui illustre l’exécution pour les ordonnancements FCFS, SJF, prioritaire puis FCFS, SJF raffinés par la priorité.
2. Calculer le temps d’exécution moyen dans chaque cas.
3. Calculer le temps de réponse moyen dans chaque cas.
Exercice 4 — .
Supposons qu’un algorithme d’approximation du temps d’exécution avec α = 1/2 soit utilisé pour prévoir
un temps d’exécution théorique τn d’un processus à partir de son exécution tn−1 (temps passé dans le
processeur) et du temps d’exécution théorique précédent τn−1 par la formule τn = ατn−1 + (1 − α)tn−1 .
On suppose que les processus sont interrompus tous les deux cycle.
Processus
P1
P2
P3
P4
P5
temps en cycle
8
4
2
5
4
instant d’arrivée
0
0.4
1
1.2
1.3
Dessinez le diagramme de Gantt associée à cette situation. Faites le même travail avec α = 1/3.
Exercice 5 — .
Considérons un ordinateur munit d’une unique unité centrale et d’un seul disque, l’accès à cette dernière
ressource étant exclusif i.e. la requête d’un processus doit se terminer avant qu’une autre requête puisse être
prise en compte.
Les processus peuvent être dans les états suivants : actif, en attente d’une entrée-sortie ou en attente du
processeur. L’état d’attente d’entrée-sortie est divisée en deux sous-état : en attente d’accès au disque et en
attente de fin de requête. Les requêtes d’entrée-sortie sont gérées en mode FIFO.
On suppose que 4 processus existe dans la machine et se répartissent en deux classes :
– P1 et P2 sont dans une classe de processus telle que l’unité centrale est attribuée au processus de
priorité la plus grande et peut être préemptée par autre processus en cas d’attente ;
– P3 et P4 sont dans une classe de processus telle que l’unité centrale est attribuée au processus de
priorité la plus grande pendant un quantum de 10ms.
Les différentes états des processus sont résumés dans le tableau suivant :
P1 (100)
Actif CPU 40ms
Lecture disque 50ms
Actif CPU 30ms
Lecture disque 40ms
Actif CPU 20ms
P2 (99)
Actif CPU 30ms
Lecture disque 80ms
Actif CPU 80ms
Lecture disque 20ms
Actif CPU 10ms
P3 (99)
Actif CPU 40ms
Lecture disque 40ms
Actif CPU 10ms
P4 (98)
Actif CPU 80ms
Les priorités initiales de chaque processus sont indiquées entre parenthèses. Cette priorités est changé
chaque fois que le processus quitte l’état d’attente en suivant la formule :
Nouvelle priorité =
ancienne priorité − temps d’utilisation du processsus
.
10
Dessinez le chronogramme (processus en ordonnée et temps en abscisse, avec l’état en correspondance)
de chaque processus.
Rev: 43
2
(09-04-2009)
E/S
XXXXX
XXXX
Attente
XXXXX
Prêt
Actif XXXX
XXX
XX
E/S
XXXXXXXX
XX
Attente
XX
Prêt XXXX
XX
Actif
XXX
XXXX
XXXX
X
E/S
XXXX
Attente
XXXX
Prêt XXXXXXX XXXX X X
XX
Actif
X
X X X
X
E/S
Attente
Prêt XXXXXXXX XXXX X XXXXXXXXXXXX X
Actif
X
X X
X XXXX
Rev: 43
3
(09-04-2009)