Telechargé par abdoettounani2001

Exemples des Algorithmes d'Ordonnancement

publicité
Démonstration par exemples:
Ordonnancement des processus
Transitions d’un processus
Algorithmes
d'ordonnancement
sans réquisition
Premier Arrivé Premier Servi (FCFS ou FIFO)
•L’algorithme d’ordonnancement FCFS possède l’avantage
d’être simple a réaliser.
•Les processus prêt sont stockés dans une file d'attente FIFO
et servis par ordre d’arrivée.
•Dès que le processeur est libre, il est alloué au processus en
tête de la file d'attente.
•Une fois le processeur est alloué à un processus, celui-ci le
garde jusqu'à la fin du processus ou suite à la demande d'une
entrée/sortie.
•Néanmoins, le temps d'attente pour l'allocation du
processeur au processus n'est pas optimal puisque les
processus en tête de la file peuvent être les processus les plus
longs à exécuter.
Exemple 1
Premier Arrivé Premier Servi (FCFS ou FIFO)
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
0
0
P4
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
1
P4
0
P3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
2
P4
0
P3 P1
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
3
P4
0
3
P3 P1
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
3
P4
0
3
P3 P1
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
4
P4
0
P1 P5
P3
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
5
P4
0
P1 P5 P2
P3
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
6
P4
0
P1 P5 P2
P3
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
7
P3
P4
0
P1 P5 P2
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
8
P4
0
P1 P5 P2
P3
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
9
P4
0
P1 P5 P2
P3
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
10
P3
P4
0
P1 P5 P2
3
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
11
P4
0
P1 P5 P2
P3
3
11
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
11
P4
0
P1 P5 P2
P3
3
11
processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
17
P4
0
P5 P2
P3
3
P1
11
17
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
17
P4
0
P5 P2
P3
3
P1
11
17
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
21
P4
0
P2
P3
3
P1
11
P5
17
21
process
Burst time
Arrival time
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
21
P4
0
P2
P3
3
P1
11
P5
17
21
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
23
P4
0
P3
3
P1
11
P5
17
P2
21
23
Processus
Durée d’execution
Temps d’arrivé
P1
6
2
P2
2
5
P3
8
1
P4
3
0
P5
4
4
23
P4
0
P3
3
P1
11
P5
17
P2
21
23
P4
0
P3
3
P1
11
P5
17
P2
21
Temps d’attente : p4=0, p3=3, p1=11, p5=17, p2=21
Temps moyenne d’attente : (0+3+11+17+21)/5=10.4
Temps de rotation = p4=3, p3=8, p1=6, p5=4, p2=2
23
Exemple 2: L'ordonnancement avec
priorité (Sans réquisition) :
•Le principe de cet algorithme consiste à attribuer à chaque
processus une valeur qui indique sa priorité Le processeur est
alloué au processus de plus haute priorité.
•Unix considère les petites chiffres dénotent des hautes
priorité
•Windows fait l’inverse, il donne la plus haute priorité aux
plus grands chiffres.
•Le processeur est donné au processus prêt avec la plus haute
priorité
•Que faire avec les processus de même priorité
-First in First out
Processus
Priorité
Durée
d’exécution
Temps d’arrivé
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
0
0
P1
P2
Les Deux p1 et p2 arrive à t= 0
Process
Priority
Burst Time
Arrival Time
P1
1
4/3
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
1
P1
0
P2
Process
Priority
Burst Time
Arrival Time
P1
1
4/2
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
2
P1
0
P2
Process
Priority
Burst Time
Arrival Time
P1
1
4/1
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
3
P1
0
P2
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
4
P2
P1
0
4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/2
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
5
P1
0
P2
4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
A l’instant 6 p3 arrive
Temps
6
P3
P1
0
P2
4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
7
P3
P1
0
P2
4
7
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
8
P1
0
P3
P2
4
7
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
9
P1
0
P3
P2
4
7
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
10
P1
0
P3
P2
4
7
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
11
P1
0
P4
P3
P2
4
7
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
12
P1
0
P4
P3
P2
4
7
P5
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
13
P1
0
P4
P3
P2
4
7
P5
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
14
P1
0
P4
P3
P2
4
P5
7
14
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
15
P1
0
P4
P3
P2
4
7
P5
14
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
16
P1
0
P4
P3
P2
4
7
P5
14
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
17
P1
0
P3
P2
4
7
P5
14
P4
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
20
P1
0
P3
P2
4
7
P5
14
P4
16
20
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
P1
0
P3
P2
4
7
P5
14
P4
16
20
Temps d’attente : p1=0, p2=4, p3=7, p5=14, p4=16
Temps moyenne d’attente : (0+4+7+14+16)/5 =8.2
Temps de rotation : p1=4, p2=3, p3=7, p5=2, p4=4
Le plus court d'abord (SJF)
o Shortest Job First : Le plus petit en premier ;
o Algorithme d’ordonnancement sans réquisition (sans interruption);
o Optimal pour le temps d’attente moyen ;
>> Problème de Famine.
Remarque :
o Dans une file d’attente, si plusieurs processus ayant la même durée, la
solution est d’appliquer le FCFS ( First Come First Served ).
o Le premier processus à exécuter est non pas celui qui a la durée la
plus minimale, mais c’est le premier arrivé à la file d’attente.
Principe de l’algorithme SJF
File d’attente :
P5
P1
P2
P4
P6
P3
Processus
Temps d’arrivée
Temps d’exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
Question : Quel est le premier processus à exécuter ?
À l’instant T = 0
File d’attente :
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
P5
CPU :
Processus
P5
À l’instant T = 4
File d’attente :
P5
CPU :
Processus
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
P1
P2
P4
P5
À l’instant T = 5
File d’attente :
Processus
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
P5
P1
P2
P4
P5
CPU :
P1
À l’instant T = 6
P2
P4
P6
P1
CPU :
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
File d’attente :
P1
Processus
P6
À l’instant T = 8
Processus
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
File d’attente :
P2
P4
P6
P6
CPU :
P2
P3
À l’instant T = 11
P4
P3
P2
CPU :
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
File d’attente :
P2
Processus
P4
À l’instant T = 14
P3
P4
CPU :
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
3
3
P3
8
4
P4
4
3
P5
0
5
P6
6
2
Temps en ms
File d’attente :
P4
Processus
P3
Algorithmes
d'ordonnancement
avec réquisition
Ordonnencement avec
priorité (avec requisition)
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
0
0
P1
P2
Process
Priority
Burst Time
Arrival Time
P1
1
4/3
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
1
P1
0
P2
Process
Priority
Burst Time
Arrival Time
P1
1
4/2
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
2
P2
P1
0
Baljit Singh Saini
Process
Priority
Burst Time
Arrival Time
P1
1
4/1
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Temps
3
P2
P1
0
Baljit Singh Saini
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Le processeur est alloué au proceesus p2 maintenant
Timer
4
P2
P1
0
4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/2
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Timer
5
P1
0
P2
4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
A l’instant 6 , p3 arrive
Timer
6
P3
P1
0
P2
4
6
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7
6
P4
3
4
11
p5
2
2
12
Timer
6
P2
P1
0
P2
4
P3
6
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/6
6
P4
3
4
11
p5
2
2
12
Temps
7
P2
P1
0
P2
4
P3
6
Baljit Singh Saini
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/5
6
P4
3
4
11
p5
2
2
12
Temps
8
P2
P1
0
P2
4
P3
6
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/4
6
P4
3
4
11
p5
2
2
12
Timer
9
P2
P1
0
P2
4
P3
6
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/3
6
P4
3
4
11
p5
2
2
12
Timer
10
P1
0
P2
P2
4
P3
6
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/2
6
P4
3
4
11
p5
2
2
12
Timer
11
P1
0
P2
P2
4
P3
6
P4
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/2
7/1
6
P4
3
4
11
p5
2
2
12
Timer
12
P1
0
P2
P2
4
P4
P3
6
P5
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/2
7/0
6
P4
3
4
11
p5
2
2
12
Temps
13
P1
0
P2
P2
4
P4
P5
P3
6
13
Baljit Singh Saini
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
12
Temps
13
P1
0
P4
P2
4
P5
P3
6
P2
13
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3/0
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
12
Temps
14
P1
0
P4
P2
4
P5
P3
6
P2
13
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
12
Temps
14
P1
0
P4
P2
4
P5
P3
6
P2
13
14
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
2/1
12
Temps
15
P1
0
P4
P2
4
P3
6
P2
13
P5
14
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
2/0
12
Temps
16
P1
0
P4
P2
4
P3
6
P2
13
P5
14
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
12
Timer
16
P
1
0
P4
P
2
4
P
3
6
P
2
13
P
5
14
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
4/3
11
p5
2
2
12
Temps
17
P1
0
P2
4
P3
6
P2
13
Baljit Singh Saini
P5
14
P4
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
4/2
11
p5
2
2
12
Temps
18
P1
0
P2
4
P3
6
P2
13
P5
14
P4
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
4/1
11
p5
2
2
12
Temps
19
P1
0
P2
4
P3
6
P2
13
P5
14
P4
16
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
4/0
11
p5
2
2
12
Temps
20
P1
0
P2
4
P3
6
P2
13
P5
14
P4
16
20
Process
Priority
Burst Time
Arrival Time
P1
1
4
0
P2
2
3/1
3
0
P3
1
7/2
7
6
P4
3
4
11
p5
2
2
12
Temps
20
P1
0
P2
4
P3
6
P2
13
P5
14
P4
16
20
Le plus court temps restant (SRTF)
• Shortest Remaining Time First : le plus court temps
d’exécution restant en premier ;
•
algorithme d’ordonnancement avec réquisition.
• Version préemptive de SJF.
Principe : si le processus arrivé à la file d’attente a le
temps d’exécution inférieure à celle de processus en train
d’exécution
interruption.
À l’instant T = 1
Processus
Temps
d’arrivée
Temps
exécution
P1
1
1
P2
4
3
P3
7
4
P4
5
4
P5
0
7
Diagramme d’ordonnancement :
P1
P5
0
1
2
Temps restant (P5) = 6
File d’attente :
P5
À l’instant T = 4
Processus
Temps
d’arrivée
Temps
exécution
File d’attente :
P1
1
1
P5
P2
4
3
P3
7
4
P4
5
4
P5
0
7
Diagramme d’ordonnancement :
P1
P5
0
1
P2
P5
2
4
5
• Temps restant (P5) = 4
-------------------------------------------• Temps restant (P2) = 2
P4
À l’instant T = 7
Processus
Temps
d’arrivée
Temps
exécution
File d’attente :
P1
1
1
P5
P2
4
3
P3
7
4
P4
5
4
P5
0
7
Diagramme d’ordonnancement :
P1
P5
0
1
P2
P5
2
4
• Temps restant (P5) = 2
-------------------------------------------• Temps restant (P2) = 1
7
P4
P3
À l’instant T = 8
Processus
Temps
d’arrivée
Temps
exécution
File d’attente :
P1
1
1
P4
P2
4
3
P3
P3
7
4
P4
5
4
P5
0
7
Diagramme d’ordonnancement :
P1
P5
0
1
P2
P5
2
4
P5
8
• Entre P3 et P4 == FCFS
P4
10
P3
14
18
Shortest Job First
• Algorithme non
préemptif
• Plus court temps
d’exécution
Shortest Remaining
Time First
• Algorithme préemptif
• Plus court temps
d’exécution restant
L'algorithme tourniquet (Round Robin : RR)
• Le principe de cet algorithme consiste à définir un
intervalle de temps appelé quantum. Le processeur est
alloué aux processus à tour de rôle pendant la durée du
quantum.
Dans la pratique la durée d'un quantum varie entre 10 et
100 ms.
• La performance de l'algorithme de Round Robin dépend
du choix de la taille du quantum:
 Un quantum trop court provoque trop de
commutations de contexte et abaisse l'efficacité du
processeur.
 Un quantum trop long augmente le temps d'attente.
Il faut trouver un juste équilibre afin d'obtenir un
temps d'attente convenable.
Téléchargement