Vous êtes sur la page 1sur 26

Systme d'Exploitation

Mohamed Tounsi
Institut Suprieur d'Informatique et de Multimdia Sfax

Fvrier 2014

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

1 / 26

Plan de l'unit

Introduction aux systmes d'exploitation

Structure des systmes d'exploitation

Gestion des processus

Gestion des chiers

Gestion de la mmoire

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

2 / 26

La gestion des processus

Introduction aux processus

Dnitions (1)

Dnition d'un processus


Un processus est un programme en cours d'excution. Il possde son propre
compteur ordinal, ses registres et ses variables.
Le processus est cre par le systme d'exploitation ou l'utilisateur au
moment o l'excution du programme doit commencer,
Une fois le processus termin, il est supprim par le systme
d'exploitation,
Toutefois, un seul programme peut ncessiter plusieurs processus pour
son excution.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

3 / 26

La gestion des processus

Introduction aux processus

Dnitions (2)

Les principales fonctionnalits du systme d'exploitation en matire de


gestion de processus consistent :
La cration, suppression et interruption de processus,
L'ordonnancement des processus an de dcider d'un ordre
d'excution quitable entre les utilisateurs tout en privilgiant les
processus du systme,
La synchronisation entre les processus ainsi que la communication,
La gestion des conits d'accs aux ressources partages,
La protection des processus d'un utilisateur contre les actions d'un
autre utilisateur.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

4 / 26

La gestion des processus

Introduction aux processus

tats d'un processus (1)

Un processus passe par plusieurs tats avant de nir son excution:


prt: le processus est prt et pourra s'excuter ds qu'il sera
slectionn par le systme d'exploitation,
En excution: le processus est en cours d'excution au niveau du
processeur,
En attente: le processus est en attente ou bloqu car il attend des
donnes ou la libration d'une ressource an de poursuivre son
excution,
Termin: le processus a termin son excution.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

5 / 26

La gestion des processus

Introduction aux processus

tats d'un processus (2)

En excution
(3)

(4)

(2)

Prt

(1)

(5)

Termin

(6)
En attente

Figure : Cycle de vie d'un processus

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

6 / 26

La gestion des processus

Introduction aux processus

Structure de l'espace mmoire d'un processus

L'espace mmoire utilis par un processus


est divis en plusieurs zones:
Donnes Statiques: les variables

Donnes Statiques

globales ou statiques, ainsi


que les allocations dynamiques,

Instructions: code des

instructions du programme
excuter,

Instructions

Pile: sert empiler les appels


de fonctions, avec leurs
paramtres et leurs variables
locales.

Mohamed Tounsi

(ISIMS)

Pile

Figure : Le processus dans la RAM

Systme d'Exploitation

Fvrier 2014

7 / 26

La gestion des processus

Interruption d'un processus

Fonctionnement d'une interruption

Une interruption est provoque par un signal gnr sur occurrence


d'un vnement qui peut tre interne (li au processus) ou externe et
indpendant,
Lorsqu'une interruption est gnre, le processus en cours d'excution
est interrompu,
Il quitte le processeur et un gestionnaire d'interruption est charg dans
les registres du processeur et s'excute pour traiter l'interruption.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

8 / 26

La gestion des processus

Interruption d'un processus

Types d'interruptions d'un processus

Un processus peut tre interrompu :


interruptions externes:

Panne,
Intervention de l'utilisateur,..

Interruptions internes:

Division par zro, dbordement de la mmoire, excution d'une


instruction non autorise,..
Quand une instruction eectue un appel systme.

On distingue alors deux sortes d'interruptions: logicielles et matrielles.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

9 / 26

La gestion des processus

Structures de donnes pour la gestion des processus

Contexte d'un processus (1)

Les systmes d'exploitation manipulent deux structures de donnes


principales pour grer les processus crs sur une machine :
La table des processus et
Le bloc de contexte d'un processus.
1

Dnition
Le contexte d'un processus (appel aussi bloc de contexte ou de
contrle) est une structure de donnes qui dcrit un processus en
cours d'excution,
Il est cr au mme moment que le processus,
Il est mis jour en grande partie lors de l'interruption du processus
an de pouvoir reprendre l'excution du processus ultrieurement.
Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

10 / 26

La gestion des processus

Structures de donnes pour la gestion des processus

Contexte d'un processus (2)

Le contexte d'un processus comporte les informations suivantes:


Le compteur ordinal: l'adresse de la prochaine instruction excuter
par le processeur,
Les contenus des registres gnraux: ils contiennent les rsultats
calculs par le processus,
Les registres qui dcrivent l'espace qu'il occupe en mmoire centrale
(l'adresse de dbut et de n par exemple),
Le registre variable d'tat qui indique l'tat du processus
D'autres informations telles que la valeur de l'horloge, la priorit du
processus,

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

11 / 26

La gestion des processus

Structures de donnes pour la gestion des processus

La table des processus

Dnition
La table des processus contient toutes les informations indispensables au
systme d'exploitation pour assurer une gestion cohrente des processus.
Elle est stocke dans l'espace mmoire du systme d'exploitation, ce
qui signie que les processus ne peuvent pas y accder.
Elle comporte une entre par processus:

des informations concernant un processus (mme si le processus n'est


pas en mmoire),
des informations sur les chiers qu'il manipule,
des informations sur son occupation mmoire (des pointeurs sur les
dirents segments code, donnes et pile.)...

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

12 / 26

La gestion des processus

Ordonnancement de processus

Pourquoi ?

Le maintien du taux d'utilisation du processeur est reprsent par


direntes valeurs:
Le taux d'utilisation de l'unit centrale,
Le dbit,
Le temps de traitement moyen,
Le temps de traitement total,
Le temps de rponse maximal.
etc..
Objectif
L'ordonnancement des processus permet essentiellement aux processus de
s'excuter un moment ou un autre et d'utiliser au mieux le processeur
pour l'utilisateur.
Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

13 / 26

La gestion des processus

Ordonnancement de processus

Prsentation

dnition
L'ordonnancement de processus s'articule autour de 2 composantes:
La le d'attente des processus: elle regroupe les descripteurs des
processus prts. C'est partir de cette le que l'ordonnanceur choisit
le processus excuter,
L'algorithme d'ordonnancement appliquer: il organise les
descripteurs de processus dans un ordre qui rete la stratgie
applique.
1

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

14 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnanceur

Le systme d'exploitation applique un programme pour grer l'ordre


d'excution des processus, appel scheduler, dispatcher ou
ordonnanceur,
L'ordonnanceur dispose de plusieurs algorithmes d'ordonnancement
qui correspondent direntes politiques d'organisation des processus:
quitable, avec priorit, plus court d'abord,
Il agit sur la le des processus prts et l'organise en appliquant un
algorithme donn,
L'ordonnanceur ne change pas de politique d'ordonnancement,
Chaque systme d'exploitation applique un algorithme choisi par les
concepteurs.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

15 / 26

La gestion des processus

Ordonnancement de processus

Algorithmes d'ordonnancement

Soient les processus suivants dcrits par une dure d'excution estime en
millisecondes.

Processus Dure d'excution


P1
3
P2
5
P3
2
P4
6
P5
4
Tab.1 Processus et leurs temps d'excution
Pour chaque algorithme (voir dessous), nous calculons:
Le temps de rponse est la moyenne des dates de n d'excution.
Le temps d'attente est la moyenne des dlais d'attente pour
commencer une excution.
Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

16 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement FIFO: First In First Out (1)

Principe
Le premier processus arriv est le premier servi. Il n'y a aucun eort faire
de la part de l'ordonnanceur, il sut d'insrer le processus la n de la le.
P1

P2

P3

P4

10

P5

16

20

Figure : Ordonnancement des 5 processus de la Tab.1 avec la mthode FIFO

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

17 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement FIFO: First In First Out (2)

Temps de rponse TR = (3+8+10+16+20)/5 = 57/5 = 11.4 ms,


Temps d'attente TA = (3+8+10+16)/5 = 37/5 = 7.4 ms
Conclusion
Appliquer la politique FIFO revient faire de la monoprogrammation
en quelque sorte,
Cet algorithme est souvent retenu du fait de sa simplicit et de sa
faible consommation en temps processeur.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

18 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement circulaire : le tourniquet (Round Robin) (1)

Principe
Le premier processus de la le est excut durant une priode prcise
xe par le systme, appele quantum,
Une fois le processeur est allou, il s'excute jusqu' ce que sa tranche
de temps soit coule ou qu'il se bloque,
Une fois interrompu, il sera mis la n de la le d'attente
(fonctionnement circulaire),
L'ordonnanceur retire le processus suivant et l'excute.
1

P1

P2

P3

P4

P5 P1 P2

P4 P5 P2 P4

11

17 18

20

Figure : Ordonnancement des 5 processus de la Tab.1 avec la mthode tourniquet


Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

19 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement circulaire : le tourniquet (Round Robin) (2)

Temps de rponse TR = (6+11+17+18+20)/5 = 72/5 = 14.4 ms


Temps d'attente TA = ((8)+(2+7+4)+(4)+(6+5+3)+(8+5))/5 =
52/5 = 10.4 ms
Remarque
Le choix de la dure d'excution (le quantum), doit tre fait avec
prcaution.
Si ce temps est faible et comparable celui que prend le changement
de contexte, le processeur se retrouve passer plus de temps charger
et dcharger des processus plutt qu' les excuter.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

20 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement selon le plus court d'abord (SJF Shortest Job First) (1)

Principe
Comparer les processus sur la base de leur dure d'excution et excuter le
plus court en premier.
P3

P1

P5

P2

P4

14

20

Figure : Ordonnancement des 5 processus de la Tab.1 avec la mthode SJF

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

21 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement selon le plus court d'abord (SJF Shortest Job First) (2)

Temps de rponse TR = (2+5+9+14+20)/5 = 50/5 = 10


millisecondes
Temps d'attente TA = (2+5+9+14)/5 = 30/5 = 6 millisecondes
Remarque
Le SJF est appliqu dans les systmes qui rgissent les processus industriels
o une chane d'excution doit se terminer le plus rapidement possible.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

22 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement avec priorits (1)

Principe
Distinguer entre les processus sur la base de leurs priorits,
L'utilisateur et le systme d'exploitation peuvent attribuer les priorits,
L'algorithme d'ordonnancement avec priorit classe les processus avec
un ordre dcroissant de leur priorit et le processus ayant la plus haute
priorit est excut en premier.
Si les processus ci-dessus prsents avaient respectivement les priorits 1, 3,
2, 5 et 4, ils seraient excuts selon l'ordre suivant:
P4

P5

P2

10

P3

15

17

P1

20

Figure : Ordonnancement des 5 processus de la Tab.1 bas sur la priorit


Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

23 / 26

La gestion des processus

Ordonnancement de processus

L'ordonnancement avec priorits (2)

Temps de rponse TR = (6+10+15+17+20)/5 = 68/5 = 13.6 ms


Temps d'attente TA = (6+10+15+17)/5 = 48/5 = 9.6 ms
Remarque
Chaque processus s'excute jusqu' la n sinon la priorit n'exprime aucune
urgence. A signaler que les processus du systme d'exploitation ont la
priorit la plus haute.
Problme de la famine
Le problme de la famine peut se poser s'il existe plusieurs processus de
haute priorit. Ils monopoliseront l'unit centrale et la le des processus de
faible priorit ne sera servie que trs rarement.
Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

24 / 26

La gestion des processus

Ordonnancement de processus

Rsolution du problme de la famine

Parmi les solutions qui existent, la plupart dcrmentent la priorit du


processus o aprs excution d'un quantum ou chaque impulsion
d'horloge.
Ainsi un moment donn, sa priorit deviendra infrieure celle d'un
autre processus qui prendre alors la main vitant ainsi la famine.
On distingue plusieurs autres approches pour l'ordonnancement
comme celui bas sur l'excution du plus court processus d'abord, ou
bien l'ordonnancement avec ou sans premption....

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

25 / 26

La gestion des processus

Sources

Au cur des systmes d'exploitation des ordinateurs: Concepts de


base et exercices rsolus, Leila Baccouche, Tunis, 2003.
Systmes d'exploitation: Cours et exercices corrigs, J. Archer Harris,
2002.

Mohamed Tounsi

(ISIMS)

Systme d'Exploitation

Fvrier 2014

26 / 26