Vous êtes sur la page 1sur 4

Chapitre 2

Les processus
Introduction
Un processus est une entit dynamique que l'on peut dfinir comme tant un programme en
cours d'excution. Un programme tant une entit statique forme par une suite d'instructions.
Ce chapitre a pour objectif de dfinir la notion de processus ainsi que tous les concepts qui y
sont lis: le concept de processus, le contexte d'un processus, la commutation du processeur, la
hirarchie de processus et les tats d'un processus.

2.1 Le concept de processus


Un processus est un programme en cours d'excution qui possde un compteur ordinal, des
registres, des variables et une pile d'excution. Le compteur ordinal indique l'instruction
suivante excuter. Le systme d'exploitation alloue chaque processus une zone dans la
mmoire centrale appele espace d'adressage du processus. L'espace d'adressage d'un
processus comporte une zone de donnes qui contient les variables globales ou statiques du
programme, une zone de code qui correspond aux instructions du programme excuter et une
pile dexcution qui sert empiler les appels de fonctions, avec leurs paramtres et leurs
variables locales.

Figure 2.1: Structure d'un processus dans la RAM.

Chapitre N2 LES PROCESSUS

L'excution d'un processus est une alternance entre des calculs effectus par le
processeur et des requtes d'entre/sortie effectues par les priphriques. Un programme
peut tre constitu de plusieurs processus collaboratifs changeant entre eux des
informations afin de raliser une tche donne.

2.2 Le Bloc de contrle de processus


Toutes les informations relatives l'excution d'un processus (ou le contexte d'un
processus) sont stockes dans une structure de donnes appele Bloc de Contrle de
processus (PCB). Le rle de PCB est de reconstituer tout le contexte du processus. Parmi les
informations contenues dans le PCB, on peut citer [Bou07] :
-

Un numro d'identification unique (PID : Process IDentifier).


Un espace d'adressage (code, donnes, piles d'excution).
Ltat actuel du processus (prt, en cours d'excution, termin, bloqu).
Les valeurs des registres lors de la dernire suspension.
La priorit courante.
Les ressources alloues (fichiers ouverts, mmoires, priphriques).
Son processus pre, ses processus fils, son groupe.
Les files dattentes dans lesquelles le processus figure.
Les statistiques et les limites d'utilisation des ressources.

2.3 Le changement de contexte de processus


Dans un systme d'exploitation multitche, le processeur peut alterner l'excution de
plusieurs processus chargs en mmoire centrale. Le SE interrompt lexcution du
processus en cours et passe automatiquement un autre processus pour le faire excuter par
le processeur. Pour ce faire, le SE doit sauvegarder le contexte de ce processus et charger le
contexte du nouveau processus excuter. Cette opration sappelle changement de
contexte ou commutation de contexte (context switching). Ainsi, quand le processeur
passe de l'excution d'un processus 0 l'excution d'un processus 1, le SE sauvegarde le
mot dtat (Process Status Word - PSW) du processus 0 dans son PCB, reprend le PCB de
processus 1 (qui avait t sauvegard avant) et remet les registres CPU dans la mme
situation qui est dcrite par le mot dtat dans le PCB de processus 1.

Figure 2.2: Changement de contexte de processus [Bou07].

Chapitre N2 LES PROCESSUS

2.4 La hirarchie de processus


Un processus peut en crer un autre. Le premier est alors appel le processus pre, le
second le processus fils. Le fils peut son tour crer dautres processus dont il devient le
pre. Ces suites de cration conduisent une structure hirarchique que lon peut
reprsenter par un graphe.. Dans les systmes de type Unix, le processus init constitue la
racine de lhirarchie de tous les processus du systme (PID = 1).
P1

P2

P4

P3

P5

Figure 2.3: Hirarchie des processus

2.5 Les tats d'un processus


Une fois cr, un processus n'est pas continuellement en cours d'excution, il alterne entre
diffrents tats qui correspondent aux situations suivantes :
Nouveau : le processus vient d'tre cr. Le SE construit un identificateur
identi
pour le
processus. Les ressources ne sont pas encore alloues.
Prt : le processus
essus est en attente d'tre excut par le CPU. Toutes les ressources
ncessaires lui sont alloues.
Excution : le processus est allou au processeur. Il est entrain d'tre excut par le CPU.
Attente : le processus est en attente d'un vnement (ex. la fin d'une opration d'E/S).

Termin : finn d'excution. Un processus peut tre termin par une demande
d'arrt (appel systme exit()), la suite d'une erreur ou bug (division par 0), ou
par un arrt forc (appel systme kill()). Lorsqu'un processus se termine
toutes les ressources systmes qui lui ont t alloues sont libres par le SE.

Figure 2.4:
.4: Diagramme de transition d'tats d'un processus

Chapitre N2 LES PROCESSUS

La figure 2.4 reprsente le diagramme de transition d'tats d'un processus. Les diffrentes
transitions d'tat sont dfinies comme suit :
o

Nouveau Prt.

Prt excution : le processus est choisi (lu) par l'ordonnanceur (scheduler).

Excution prt : rsultat d'une interruption cause par un vnement indpendant du


processus (ex. n du quantum de temps allou au processus).

Excution attente : lorsqu'un processus fait un appel systme (ex. pour une
entre/sortie) ou lorsqu'il bloqu (ex. attente de la disponibilit d'une ressource partage).

Attente prt : lorsque l'vnement attendu se produit.

En excution termin.

Conclusion
Dans ce chapitre nous avons dfinit la notion de processus ainsi que les diffrents
concepts qui lui sont lis. Le systme d'exploitation comporte deux composants essentiels
la gestion des processus savoir l'ordonnancement et la synchronisation de processus.
L'ordonnancement des processus fera l'objet du chapitre suivant.

Vous aimerez peut-être aussi