Architecture des Ordinateurs et Systèmes d'Exploitation
Ex 1. Algorithmes d'ordonnancement sans réquisition
1.a "Premier arrivé, premier servi" (FIFO)
Processus
Temps
d'exécution
1
30
2
3
3
6
4
4
Les processus arrivent dans l'ordre 2, 3, 4, 1. Le
diagramme de Gantt
est :
3
9
13
43
P2
P3
P4
P1
et tme = 1/4 [ te(P2) + te(P3) + te (P4) + te(P1) ] = 1/4 (3+9+13+43) = 17
1.b "Plus court temps d'exécution d'abord" (PCTE)
Ordre PCTE = 2,4,3,1
3
13
43
P2
P3
P1
et tme = 1/4 [ te(P2) + te(P4) + te (P3) + te(P1) ] = 1/4 (3+7+13+43) = 16,25
Cet algorithme est optimal si les processus arrivent tous à t=0. Donnez un exemple où
l'algorithme n'est plus optimal.
Processus n°
Date de soumission
Temps d'exécution
1
0
5
2
0
6
3
6
2
En utilisant PCTE, à t=0, il faut choisir P1, à t=5 il reste juste P2 et ensuite on exécute P3
5
11
13
P1
P2
P3
et tme = 1/3 [ te(P1) + te(P2) + te(P3) ] = 1/3 (5+11+(13-6)) = 7,6
On voit bien que P3 a attendu un certain temps avant de s'exécuter, ce qui ne serait pas
arrivé si P2 avait été choisi en premier : P2, P3, P1 :
6
8
13
P2
P3
P1
et tme = 1/3 [ te(P2) + te(P3) + te(P1) ] = 1/3 (6+(8-6)+13) = 7 < 7,6 !
Ex 2. Algorithmes d'ordonnancement avec réquisition
2.a PTCE avec réquisition (PTCER)
Lorsque un processus arrive dans la file d'attente, on exécute celui qui se terminera le
plus vite (en remettant éventuellement en attente celui qui était entrain de s'exécuter)
Exemple :
Processus n°
Date de
soumission
Temps d'exécution
1
0
8
2
1
6
3
2
9
4
3
2
Donner le diagramme de Gantt et le tme pour le tableau ci-dessus.
1
3
5
9
16
25
P1
P2
P4
P2
P1
P3
et tme = 1/4 [ te(P1) + te(P2) + te(P3) + te(P4) ] = 1/4 [ 16 + (9-1) + (25-2) + (5-3)] = 12,25
2.a Le tourniquet
Chaque processus reçoit un temps de calcul (quantum) dans l'ordre des demandes. Tout
nouveau processus demandeur entre en fin de liste d'attente. Tout processus qui a épuisé
son quantum se retrouve aussi en fin de liste.
Donner le diagramme de Gantt et le tme en utilisant l'algorithme du tourniquet
(quantum=2) avec l'ex. 2a.
2
4
6
8
10
12
14
16
18
20
22
24
25
P1
P2
P3
P1
P4
P2
P3
P1
P2
P3
P1
P3
P3
et tme = 1/4 [ te(P1) + te(P2) + te(P3) + te(P4) ] = 1/4 [ 22 + (18-1) + (25-2) + (10-3)] =
17,25
2.b Tourniquet + priorités
Chaque processus reçoit un niveau de priorité. On construit autant de tourniquets que de
niveaux de difficulté.
Donner(et comparer) le diagramme de Gantt et le tme en utilisant l'algorithme du
tourniquet (quantum=1) puis l'algorithme du tourniquet (priorités 60%, 30%, 10%) avec
priorité pour le problème suivant :
Processus n°
Date de
soumission
Temps
d'exécution
Priorité
1
0
7
0
2
0
4
2
3
1
6
1
4
1
1
2
5
1
2
0
6
2
4
1
7
2
1
1
Table d'allocation CPU :
0
X
X
X
X
X
X
1
X
X
X
2
X
Ordre de passage : 1 5 3 1 5 6 1 1 7 2 1 1 3 1 6 3 4 6 3 6 2 3 3 2 2
et tme = 1/7 [ 14 + 25 + (23-1) + (17-1) + (5-1) + (20-2) + (9-2)] = 15,2
1 / 4 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !