Vous êtes sur la page 1sur 15

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)