PROCESSUS ET
ORDONNANCEMENT
2010/2011
Atelier Systmes dexploitation
Dfinition
Un processus est un programme en cours dexcution. Cest--dire,
un programme ltat actif. Un processus regroupe
un programme excutable
sa zone de donnes
son compteur ordinal (o est-ce que lon en ai dans la suite dinstruction du
programme ?)
ainsi que toutes autres informations ncessaire lexcution du programme (pile
dexcution, fichiers ouverts, etc.)
Un seul processus est excut la fois sur un processeur (donc si
2 processeurs, 2 processus en mme temps).
Comme le processeur commute entre les diffrents processus, on
a une impression de paralllisme. Le compteur ordinal permet de
garder en mmoire la prochaine instruction excuter.
2 processus peuvent tre associs au mme programme
Exemple pratique (Fabrication dun
plat de haricots)
Scenarii possibles de l'excution du
processus
Pour son execution, un processsus necessite, en eet de
consommer ou de produire des ressources.
Pour son excution, un processus ncessite, en effet de
consommer ou de produire des ressources.
Etats d'un processus
Un processus a un tat qui volue au cours du temps.
Cycle de vie dun processus
Chaque processus peut se trouver dans un des tats suivants :
Nouveau ; le processus est en cours de cration
En excution ; le processus est en cours dexcution sur le processeur
Prt ; le processus attend dtre slectionn
En attente (ou bloqu) ; le processus attend quun vnement extrieur
se produise
Termin ; le processus a fini son excution
Ordonnancement, Pourquoi?
Le processeur est considr comme la ressource la plus
importante dans une machine, donc il convient de bien grer ce
dernier afin de le rendre plus productif.
Pour atteindre cet objectif, les concepteurs des systmes
dexploitation dlguent lallocation du processeur un module
du systme d'exploitation en l'occurrence le Dispatcheur.
Ce Dispatcheur est excut chaque fois que le processus en
cours dexcution se bloque ou se termine, outre ces deux
situations il peut tre galement excut en cas de rquisition
du processeur si lordonnancement prend en considration cette
proprit.
Ordonnanceur
Cette ordonnanceur comporte ;
une file dattente des processus
table des processus contenant des informations sur leur tat
(compteur ordinal, registres UC utiliss, priorit du processus,
information sur la mmoire et les E/S utilise
Le rle majeur de lordonnancement est de maximiser
lutilisation des ressources. Un bon algorithme
dordonnancement doit tre capable de :
assurer que chaque processus reoit sa part du temps processeur
utiliser le temps processeur 100% (au maximum)
minimiser le temps de rponse des processus interactifs
maximiser le nombre de travaux effectus dans un intervalle de
temps.
L'ordonnancement
Code T1
Liste des
tches prtes
Code T2
Code T3
Contexte T1
Contexte T2
Contexte T3
tat = PRET
tat = PRET
tat = PRET
Liste des
tches en
attente
T4
T5
tat = Attente
tat= Attente
Tche
courante
T6
tat=Courant
Ordonnanceur
Pour sassurer quun processus ne prendra pas tout le temps
CPU, chaque ordinateur dispose dune horloge qui gnre des
interruptions. A chaque interruption de lhorloge le noyau
reprend la main et dcide si le processus doit continuer ou
donner la main (ordonnancement avec rquisition ou
premptive)
Elle soppose la stratgie qui consiste laisser finir la tche
Lordonnancement avec rquisition pose le problme de
lactualisation des donnes. Supposons un processus P1 en train
de mettre jour des donnes. Ce processus est interrompu en
cours de tche. Le processus p2 est lu. Ce dernier va lire les
donnes prcdentes qui sont cependant dans un tat instable.
Des mcanismes de synchronisation sont alors ncessaires.
Ordonnancement des processus
Plusieurs processus sont prts tre excuts
Le SE doit faire un choix (algorithme d ordonnancement) :
quit : chaque processus doit avoir du temps processeur
efficacit : le processeur doit tre utilis 100%
temps de rponse : l utilisateur devant sa machine ne doit pas trop attendre
temps dexcution : une squence dinstructions ne doit pas trop durer
rendement : il faut faire le plus de choses en une heure
Ordonnancement sans rquisition: un processus est excut jusqu la fin
inefficace et dangereux (ex: excution dune boucle sans fin)
Ordonnancement avec rquisition :
chaque signal d horloge, le SE reprend la main, dcide si le processus courant a
consomm son quota de temps machine et alloue ventuellement le processeur un
autre processus
il existe de nombreux algorithmes dordonnancement avec rquisition
Moralit
Ce quil faut retenir :
Un processus au plus par processeur en mme temps
Chaque processus est cr, excut puis meurt
Un ordonnanceur permet de faire excuter plusieurs
processus en mme temps (point du vue humain)
Un programme processus
Parfois, cela sature (beaucoup de gros processus)
il faut donc attendre que lordonnanceur redonne la
main au processus dsir
Exprience : sous Windows XP, taper ctrl-altsuppr afin dafficher lordonnanceur, les
performances, etc
Exemple sous Windows (1)
Exemple sous Windows (2)
Exemple sous Windows (3)