3.3 Ordonnancement Des Processus
3.3 Ordonnancement Des Processus
3.3 Ordonnancement Des Processus
Cycles
Détruire le processus FIN
exécution
Actif
Sélectionner un
Bloquer le O processus
processus
rd
o nn Processus
sélectionné
an Création du
Bloqué ce Nouveau processus
m
en
Débloquer le t
Cycles processus Prêt
E/S ou Synch
Définition :
Rôles et caractéristiques :
La priorité
à discuter par la suite ...
Critères généraux:
– Bonne utilisation de l’UCT
– Réponse rapide à l’usager
P1 P2 P3
0 24 27 30
P1 P2 P3
0 24 27 30
0 24 27 30
arrivée P2
P2 P3 P1
0 3 6 30
Temps d’attente pour P1 = 6 P2 = 0 P3 = 3
Temps moyen d’attente: (6 + 0 + 3)/3 = 3 était 17
Temps de rotation moyen: (3+6+30)/3 = 13 était 27
Beaucoup mieux!
Donc pour cette technique, les temps peuvent varier grandement par
rapport à l’ordre d’arrivée de différent processus
P2 P3 P1
0 3 6 30
Mais comment savons-nous quel processus demande moins d’UCT!
– Supposons pour l’instant qu’on puisse
P1 P3 P2 P4
0 7 8 12 16
P1 P2 P3 P2 P4 P1
0 2 4 5 7 11 16
P2 arr.P3 arr. P4 arr
Temps moyen d'attente = (9 + 1 + 0 +2)/4 = 3 était 4
P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7
Temps de rotation moyen = (16+ (7-2) + (5-4) + (11-5))/4 = 7 était 8
load A
load B Cycle CPU
read file
α : le coéfficient d’importance
Tn: la durée du cycle le plus récent
S: l’estimée
– Sn+1 l’estimée courante (après le cycle Tn)
– Sn l’estimée précédente
Systèmes d’exploitation, 1AI. 24
Pourquoi ‘exponentielle’
estim.
réel
➢
Difficulté d’estimer la longueur à l’avance
➢
Plus pratique pour l’ordonnancement travaux que pour
l’ordonnancement processus
– on peut plus facilement prévoir la durée d’un travail entier que la
durée d’un cycle
➢
Il y a assignation implicite de priorités: préférences aux travaux
plus courts
– Famine possible pour les travaux aux cycles longs
➢
Chaque processus est alloué une tranche de temps (p.ex. 10-100
millisecs.) pour exécuter
Tranche aussi appelée quantum
➢
S’il exécute pour tranche entière sans aucunes interruptions, il est
interrompu par la minuterie et l’UCT est donnée à un autre processus
➢
Le processus interrompu redevient prêt (à la fin de la file)
➢
Méthode préemptive
P[0] P[1]
La file prêt est un
P[7] P[2]
cercle (dont RR)
P[6] P[3]
P[5] P[4]
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
Calculez et Observez :
temps de rotation et temps d’attente moyens beaucoup plus
élevés que SJF
mais aucun processus n’est favorisé
➢
Si t grand ⇒ FCFS
➢
Si t petit... nous verrons
Trois cycles:
– A, B, C, toutes de 10 cycles
Essayer avec:
– t=1
– t=10
Dans ce deuxième cas, tourniquet fonctionne comme FIFO et
le temps de rotation moyen est meilleur
= FIFO
PRIO = 0
la + élevée
PRIO = 1
PRIO = 2
➢
Les méthodes que nous avons vu sont toutes utilisées
➢
Les SE sophistiqués fournissent aux gérants de grands
systèmes des librairies de méthodes, qu’ils peuvent choisir et
combiner au besoin après avoir observé le comportement du
système
➢
Pour chaque méthode, plusieurs paramètres sont
disponibles: p.ex. durée des tranches, coefficients, etc.
➢
Ces méthodes évidemment sont importantes surtout pour les
grands ordinateurs qui ont des fortes charges de travail
Bon pour
PCS Min[s] non Optimisation des Optimal, mais Peut être élevé proc. courts, Possible
temps souffre si des (pour estimer pénalise
SJF
procs longs les longs. des proc. longs
arrivent au début trames)
PCS Min[s-e] oui Évite le Meilleur, même Peut être élevé Pénalise plus
SJF problème de si des procs encore Possible
préemp. procs longs au longs arrivent au proc. longs
début début
Files v. détails oui Varie la longueur Variable Peut être élévé Variable Peut être
multiniv. des tranches en évitée
fonction des
besoins
w: temps total dans système jusqu’à présent; e: temps en exec jusqu’à présent s: temps demandé;