4.2. Ordonnancement de processus
On considère un système monoprocesseur et les 4
processus P1, P2, P3 et P4 qui effectuent du calcul et des
entrées/sorties avec un disque selon les temps donnés ci-dessous
:
Processus P1
Calcul : 3 unités de temps
E/S : 7 unités de temps
Calcul : 2 unités de temps
E/S : 1 unité de temps
Calcul : 1 unité de temps
|
Processus P2
Calcul : 4 unités de temps
E/S : 2 unités de temps
Calcul : 3 unités de temps
E/S : 1 unité de temps
Calcul : 1 unité de temps
|
Processus P3
Calcul : 2 unités de temps
E/S : 3 unités de temps
Calcul : 2 unités de temps
|
Processus P4
Calcul : 7 unités de temps
|
Les trois parties sont indépendantes.
A- On considère que l'ordonnancement sur le
processeur se fait selon une politique FIFO : le processus élu à
un instant t est celui qui est le plus anciennement dans l'état
prêt. Initialement, l'ordre de soumission des processus est P1, puis P2,
puis P3, puis P4.
De même, on considère que l'ordre de services des
requêtes d'E/S pour le disque se fait selon une politique FIFO.
Sur graphe suivant
[1], donnez
le chronogramme d'exécution des 4 processus P1, P2, P3 et P4. Vous
distinguerez les états des processus : Prêt, Actif et
Bloqué et vous indiquerez le contenu des files d’attente des
processus (attente processeur et attente du
disque
[2]). Pour vous guider, la première
unité de temps est déjà portée sur le chronogramme.
Justifiez votre raisonnement, en expliquant la gestion des files
d’attentes et les transitions des processus. Donnez le temps de
réponse moyen obtenu.
B- On considère maintenant que l'ordonnancement
sur le processeur se fait selon une politique à priorité
préemptible : le processus élu à un instant t est celui qui
le processus prêt de plus forte priorité. On donne priorité
(P1) > priorité (P3) > priorité (P2) > priorité
(P4).
On considère que l'ordre de services des requêtes
d'E/S pour le disque se fait toujours selon une politique FIFO.
Sur le graphique suivant, donnez le chronogramme
d'exécution des 4 processus P1, P2, P3 et P4. Vous distinguerez les
états des processus : Prêt, Actif et Bloqué et vous
indiquerez le contenu des files d’attente des processus (attente
processeur et attente du disque). Pour vous guider, la première
unité de temps est déjà portée sur le chronogramme.
Elle diffère du graphique de la question précédente,
puisque l’ordre de priorité des processus impose un ordre dans la
file d’attente différent. Justifiez votre raisonnement, en
expliquant la gestion des files d’attentes et les transitions des
processus. Donnez le temps de réponse moyen obtenu.
C- On considère toujours que l'ordonnancement sur
le processeur se fait selon une politique à priorité
préemptible : l'ordre des priorités des 4 processus reste
inchangé.
On considère maintenant que l'ordre de services des
requêtes d'E/S pour le disque se fait également selon la
priorité des processus : le processus commençant une E/S est celui
de plus forte priorité parmi ceux en état d'attente du disque. Une
opération d'E/S commencée ne peut pas être
préemptée.
Sur graphique suivant, donnez le chronogramme
d'exécution des 4 processus P1, P2, P3 et P4. Vous distinguerez les
états des processus : Prêt, Actif et Bloqué et vous
indiquerez le contenu des files d’attente des processus (attente
processeur et attente du disque). Pour vous guider, la première
unité de temps est déjà portée sur le chronogramme.
Elle est identique à celle du graphique de la question
précédente, puisque l’ordre de priorité des processus
est le même. Justifiez votre raisonnement, en expliquant la gestion des
files d’attentes et les transitions des processus. Donnez le temps de
réponse moyen obtenu.
Solution de l’exercice
4.2
4.2.1. Question A
À 0, P1 est actif et obtient le processeur pour 3 UT
(fin en 3).
À 3, P1 accède au disque, qui était libre
évidemment, pour 7 UT (fin en 10). P2 devient actif et obtient le
processeur pour 4 UT (fin en 7).
À 7, P2 passe en tête de file du disque, et P3
devient actif pour 2 UT (fin en 9).
À 9, P3 passe en deuxième de la file disque et
P4 devient actif pour 7 UT (fin en 16).
À 10, l’entrée-sortie de P1 se termine et
P1 passe en queue de la file du processeur, mais comme elle est vide, il est
aussi en tête. L’entrée sortie de P2 commence pour 2 Ut (fin
en 12).
À 12, l’entrée-sortie de P2 se termine et
P2 passe en queue (en 2) de la file processeur. L’entrée-sortie de
P3 commence pour 3 UT (fin en 15).
À 15, l’entrée-sortie de P3 se termine et
P3 passe en queue de la file processeur (en 3). La file disque étant
vide, le disque devient libre.
À 16, P4 se termine, P1 devient actif et obtient le
processeur pour 2UT (fin en 18).
À 18, P1 accède au disque pour 1 Ut (fin en 19)
et P2 devient actif pour 3 UT (fin en 21).
À 19, l’entrée-sortie de P1 se termine et
P1 passe en queue de la file processeur (en 2).
À 21, P2 accède au disque pour 1 UT (fin en 22)
et P3 devient actif pour 2 UT (fin en 23).
À 22, l’entrée-sortie de P2 se termine et
P2 passe en queue de la file processeur (en 2).
À 23, P3 se termine et P1 devient actif pour 1 UT (fin
en 24).
À 24, P1 se termine et P2 devient actif pour 1 UT (fin
en 25).
À 25, P2 se termine et il n’y a plus de
processus.
Le temps de réponse de P1 est de 24, celui de P2 est de
25, celui de P3 est de 23 et celui de P4 est de 16. Le total est 88, soit une
moyenne de 22 UT.
4.2.2. Question B
À 0, P1 est actif et obtient le processeur pour 3 UT
(fin en 3).
À 3, P1 accède au disque, qui était libre
évidemment, pour 7 UT (fin en 10). P3 devient actif et obtient le
processeur pour 2 UT (fin en 5).
À 5, P3 passe en tête de file du disque, et P2
devient actif pour 4 UT (fin en 9).
À 9, P2 passe en deuxième de la file disque et
P4 devient actif pour au plus 7 UT (fin ≤ 16).
À 10, l’entrée-sortie de P1 se termine et
P1 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour 2 UT (fin en 12), et P4 passe en
tête de la file du processeur (en 1). L’entrée sortie de P3
commence pour 3 Ut (fin en 13).
À 12, P1 passe en queue de file disque (en 2) et P4
devient actif pour au plus 6 UT (fin ≤ 18).
À 13,l’entrée-sortie de P3 se termine et
P3 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour 2 UT (fin en 15), et P4 passe en
tête de la file processeur. L’entrée-sortie de P2 commence
pour 2 UT (fin en 15).
À 15, P3 se termine et l’entrée-sortie de
P2 se termine. P2 devient prêt, mais étant de priorité
supérieure à celle de P4, devient actif pour au plus 3 UT (fin
≤ 18), et P4 passe en tête de la file processeur.
L’entrée-sortie de P1 commence pour 1 UT (fin en 16).
À 16, l’entrée-sortie de P1 se termine et
P1 devient prêt, mais étant de priorité supérieure
à celle de P2, devient actif pour 1 UT (fin en 17). P2 est en 1 et P4 en
2 de la file processeur.
À 17, P1 se termine, P2 devient actif et obtient le
processeur pour 2UT (fin en 19).
À 19, P2 accède au disque pour 1 Ut (fin en 20)
et P4 devient actif pour au plus 5 UT (fin ≤ 24).
À 20, l’entrée-sortie de P2 se termine et
P2 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour 1 UT (fin en 21), et P4 passe en
tête de la file processeur.
À 21, P2 se termine et P4 devient actif pour 4 UT (fin
en 25).
À 25, P4 se termine et il n’y a plus de
processus.
Le temps de réponse de P1 est de 17, celui de P2 est de
21, celui de P3 est de 15 et celui de P4 est de 25. Le total est 78, soit une
moyenne de 19,5 UT.
4.2.3. Question C
Notons que le début est assez semblable à la
question précédente, puisque le seul changement peut intervenir
lorsqu’il y a des processus en attente du disque.
À 0, P1 est actif et obtient le processeur pour 3 UT
(fin en 3).
À 3, P1 accède au disque, qui était libre
évidemment, pour 7 UT (fin en 10). P3 devient actif et obtient le
processeur pour 2 UT (fin en 5).
À 5, P3 passe en tête de file du disque, et P2
devient actif pour 4 UT (fin en 9).
À 9, P2 passe en deuxième de la file disque et
P4 devient actif pour au plus 7 UT (fin ≤ 16).
À 10, l’entrée-sortie de P1 se termine et
P1 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour 2 UT (fin en 12), et P4 passe en
tête de la file du processeur (en 1). L’entrée sortie de P3
commence pour 3 Ut (fin en 13).
À 12, P1 se bloque en attente du disque, mais
étant prioritaire par rapport à P2, il passe en tête de file
disque (en 1) et repousse P2 en 2. Notons que, bien évidemment, il
n’y a pas préemption de l’entrée-sortie en cours qui
doit aller à son terme. P4 devient actif pour au plus 6 UT (fin ≤
18).
À 13,l’entrée-sortie de P3 se termine et
P3 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour au plus 2 UT (fin ≤ 15), et P4
passe en tête de la file processeur. L’entrée-sortie de P1
commence pour 1 UT (fin en 14).
À 14,l’entrée-sortie de P1 se termine et
P1 devient prêt, mais étant de priorité supérieure
à celle de P3, devient actif pour 1 UT (fin en 15), et P3 passe en
tête de la file processeur, repoussant P4 en 2.
L’entrée-sortie de P2 commence pour 2 UT (fin en 16).
À 15, P1 se termine et P3 redevient actif pour au plus
1 UT (fin en 16), et P4 passe en tête de la file processeur.
À 16, P3 se termine, l’entrée-sortie de P2
se termine et P2 devient prêt, mais étant de priorité
supérieure à celle de P4, devient actif pour 3 UT (fin en 19).
À 19, P2 accède au disque pour 1 Ut (fin en 20)
et P4 devient actif pour au plus 5 UT (fin ≤ 24).
À 20, l’entrée-sortie de P2 se termine et
P2 devient prêt, mais étant de priorité supérieure
à celle de P4, devient actif pour 1 UT (fin en 21), et P4 passe en
tête de la file processeur.
À 21, P2 se termine et P4 devient actif pour 4 UT (fin
en 25).
À 25, P4 se termine et il n’y a plus de
processus.
Le temps de réponse de P1 est de 15, celui de P2 est de
21, celui de P3 est de 16 et celui de P4 est de 25. Le total est 77, soit une
moyenne de 19,25 UT.
[1] Note : à chaque
instant, la case de la ligne "pour processus" indique le numéro du
processus servi par le processeur ou le disque, et les cases des lignes "file
d'attente" indiquent les numéros des processus en attente, la tête
de file étant dans la case du haut. Ainsi, à l'instant 0, le
processus 1 est servi par le processeur, le processus 2 est en tête de
file d'attente, suivi du processus 3 puis du processus 4.
[2] Rappelons que le disque en
peut exécuter qu’une seule opération à la
fois.