Vous êtes sur la page 1sur 8

Institut Supérieur d’Informatique 2009-2010

1ère année SIL Semestre 2

Systèmes d’Exploitation 1

Série TD N°2
Ordonnancement des processus (2)

Exercice 1 :
Cinq travaux A, B, C, D et E arrivent pratiquement en même temps dans un centre de calcul.
Leur temps d’exécution respectif est estimé à 10, 6, 2, 4 et 8 secondes.
Tracez le digramme de Gantt et déterminez le temps moyen de rotation pour chacun des
algorithmes d’ordonnancement suivants. Ne tenez pas compte du temps perdu lors de la
commutation des processus.
• Premier arrivé, premier servi FCFS (exécution dans l’ordre 10, 6, 2, 4, 8) ;
• Plus court d’abord SJF ;
• Tourniquet (quantum q = 4 s).

Exercice 2 :
On considère l’ensemble des processus suivants :

A- On suppose qu’on utilise un algorithme d’ordonnancement basé sur la priorité (les


priorités sont croissantes : 5 est le plus prioritaire). Donnez le diagramme de Gantt pour les
priorités données dans le tableau.

B- On voudrait que la priorité des processus soit dynamique au cours du temps. Ainsi, pour
calculer la priorité d’un processus, on utilise la formule suivante :

Remarque : Lors des calculs, on arrondira suivant l’exemple suivant : 3.5 ou 3.6 -> 4, 3.1 ou
3.4 -> 3.
1. Donnez le diagramme de Gantt sachant que la priorité est recalculée toutes les 5 minutes.
2. Calculez le temps d’attente moyen ainsi que le temps de rotation moyen.
3. Comparez les résultats obtenus par rapport à ceux obtenus avec l’algorithme de priorité
classique.

Exercice 3 :
On considère une architecture monoprocesseur sur laquelle on désire exécuter un ensemble de
4 programmes dont le comportement est défini comme suit :

Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Programme P1 : Date d’arrivée (0)


Calcul pendant 6 unités de temps
E/S pendant 3 unités de temps
Calcul pendant 3 unités de temps
E/S pendant 4 unités de temps
Calcul pendant 2 unités de temps
Programme P2 : Date d’arrivée (3)
Calcul pendant 2 unités de temps
E/S pendant 5 unités de temps
Calcul pendant 2 unités de temps
E/S pendant 2 unités de temps
Calcul pendant 1 unité de temps
Programme P3 : Date d’arrivée (5)
Calcul pendant 2 unités de temps
E/S pendant 4 unités de temps
Calcul pendant 1 unité de temps
Programme P4 : Date d’arrivée (8)
Calcul pendant 1 unité de temps
E/S pendant 1 unité de temps
Calcul pendant 1 unité de temps

On considère que l’on dispose d’un seul canal simple pour gérer un disque, et que l’ordre de
services des requêtes pour ce disque se fait selon une politique FCFS.
On considère que l’ordonnancement sur le processeur se fait selon une stratégie SRT.
1. Remplissez le diagramme de Gantt ci-dessous.
2. Calculez le nombre de commutations de contexte.
3. Calculez les :
a. Temps d’attente du processeur pour chaque programme ;
b. Temps d’exécution total de chaque programme.

Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Exercice 4 :
On considère 4 processus, A, B, C, D. On suppose que l’exécution des processus nécessite :
• Pour A : 7 unités de temps CPU, 3 unités de temps d'E/S et 5 unités de temps CPU.
• Pour B : 6 unités de temps CPU, 4 unités de temps d’E/S, 4 unités de temps CPU.
• Pour C : 5 unités de temps CPU.
• Pour D : 1 unité de temps CPU, 4 unités de temps d’E/S et 2 unités de temps CPU.
On suppose que :
• A se présente en premier, à l’instant 0,
• B se présente à l’instant 1,
• C se présente à l’instant 9,
• D se présente à l’instant 12.

Montrez comment les 4 processus vont utiliser le processeur dans chacun des cas suivants :

1) Chaque processus a son propre périphérique d’E/S et l’ordonnanceur fonctionne selon


Premier Arrivée Premier Servi FCFS (sans préemption).

2) Chaque processus a son propre périphérique d’E/S et l’ordonnanceur utilise l'algorithme du


tourniquet, avec un quantum de 5. Le temps de commutation est égal à 0. Donnez, dans ce
cas, les temps de rotation des processus A, B, C et D.

3) Les trois processus utilisent le même périphérique d'E/S dont la file d'attente est gérée par
l’algorithme FCFS. L’ordonnanceur du processeur utilise l'algorithme du tourniquet, avec un
quantum de 5. Le temps de commutation est supposé égal à 0.

Exercice 5 :

On considère trois (3) processus P1, P2, P3 dont les durées d’exécution sont respectivement 6,
4 et 8 unités de temps.
On fait l’hypothèse suivante : après 1 unité de temps d’exécution, le processus P2 crée un
processus fils (qu’on appellera P4) dont la durée d’exécution est de 3 unités de temps. Le
processus P4 après 2 unités de temps d’exécution crée à son tour un nouveau processus fils
P5, dont la durée d’exécution est de 2 unités de temps. On admet qu’un processus ayant
créé un fils doit se bloquer jusqu’à la terminaison de son processus fils.
En supposant que tous les processus sont gérés en utilisant l’ordonnancement «Round-Robin»
avec un quantum égal à 2 unités de temps, dessinez le digramme de Gantt .

Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Systèmes d’Exploitation 1

Série TD N°2 - Correction


Ordonnancement des processus (2)

Exercice 1 :

Algorithme FCFS  TRM = ((10-0)+(16-0)+(18-0)+(22-0)+(30-0)) / 5 = 19,2

A B C D E

0 10 16 18 22 30

Algorithme SJF  TRM = ((2-0)+(6-0)+(12-0)+(20-0)+(30-0)) / 5 = 14

C D B E A

0 2 6 12 20 30
Algorithme RR (quantum=4)
 TRM = ((10-0)+(14-0)+(24-0)+(28-0)+(30-0)) / 5 = 21,2

A B C D E A B E A

0 4 8 10 14 18 22 24 28 30

Page 1
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Exercice 2 :

Priorité Statique  TRM = ((28-10)+(29-3)+(41-0)+(51-0)) / 4 = 34


 TAM = ((18-18)+(26-8)+(41-15)+(51-10)) / 4 = 21,25

P2 P3 P4 3 P2 P1

0 3 10 28 29 41 51

Priorité Dynamique  TRM = ((30-0)+(47-0)+(41-3)+(51-10)) / 4 = 39


 TAM = ((30-0-10)+(47-0-15)+(41-3-8)+(51-10-18)) / 4 = 26,25

P2 3 P1 P4 P2 P3 P1 P4 P2 3 P4 2 P4

0 3 5 10 15 20 25 30 35 4041 45 47 51

0 3 5 10 15 20 25 30 35 40 4 45
1
P 2 2 5+10/10 0+5/10= 5+5/10=1 10+5/10 15+5/10=
1 =2 1 =2 2
P 3 3 2+12/15 7+12/15 12+12/15 0+7/15= 5+7/15=1 10+7/15= 15+7/15 0+2/15 0 5+2/15
2 =1 =1 =2 0 1 =1 =0 =0
P 4 0+6/8=1 5+6/8=1 10+6/8=2 15+6/8= 0+1/8=0 5+1/8=1 10+1/8= 15+1/8
3 3 1 =2
P 5 0+13/18= 5+13/18 10+13/18 15+13/18 0+8/18= 5+8/18 1 0+4/18
4 1 =1 =1 =2 0 =1 =0

Hypothèses :
- Au démarrage, les priorités des processus sont égales à leurs priorités statiques (indiquées dans le
tableau).
- Les priorités ne sont calculées que toutes les 5mn. Pour les autres temps, on prend la priorité
précédente.
- Le temps d’attente d’un processus est son temps d’attente depuis sa dernière exécution.
- Si on a le choix entre deux processus de même priorité, on choisit celui qui attend depuis le plus
longtemps.

Page 2
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Exercice 3 :

P1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x x x x
Attent x x x x
e
Prêt x x x x x
Actif x x x x x x x x x x x

P2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x x x x
Attent x x x x x
e
Prêt x x
Actif x x x x x

P3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x x x x
Attent x x x
e
Prêt
Actif x x x

P4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
E/S x
Attent x x x x x
e
Prêt
Actif x x

Nombre de commutations de contexte : 11

Page 3
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Exercice 4 :

1)

A B C A D B D

0 1 7 9 12 13 18 23 24 28 30

2) File d’attente

A B A C B D A B D

0 1 5 9 10 12 15 17 18 19 24 28 30

3)

File d’attente

A B D

12 15 18 22 26
File d’attente

A B A C B D A B D

0 1 5 9 10 12 15 17 18 19 24 28 30

Page 4
Institut Supérieur d’Informatique 2009-2010
1ère année SIL Semestre 2

Exercice 5
File d’attente

P1 P2 P3 P1 P4 P3 P1 P5 P3 P4 P3 P2

0 2 3 5 7 9 11 13 15 17 18 20 23

Page 5

Vous aimerez peut-être aussi