Vous êtes sur la page 1sur 26

Systèmes d’exploitation

Gestion des processus

Dr. Raoudha Beltaifa


Fonctions de gestion de processus

• Création, suppression et interruption

• Ordonnancement de processus

• Synchronisation de processus

• Gestion des conflits d’accès à des ressources partagées

chapitre 2 : Gestion de processus 2


Notions de base

• Processus/programme
• Table de processus/Espace d’adressage/PCB
• Préemptif/ non préemptif
• États d’un processus: prêt, en exécution, en attente, terminé
• Orphelin
• Zombie

chapitre 2 : Gestion de processus 3


Espace d’adressage des processus

 Un processus est un programme qui s’exécute et possède son propre compteur ordinal et ses variables.

 Chaque processus possède un espace d’adressage, c’est-à-dire un ensemble d’adresses mémoire dans
lesquelles il peut lire et écrire.

Adresses
Cet espace est divisé en trois parties : Pile

1. Le segment de texte (le code du programme)

2. Le segment de données (les variables) Trou

3. La pile (d’exécution) Segment de données

Segment de texte

chapitre 2 : Gestion de processus 4


Process Control Block (PCB)

 Pour chaque processus le système d’exploitation maintient des informations qui sont rangées dans
un PCB :

Adresse d’un processus PCB


Etat du processus
contenu dans la file (prêt, bloqué, …)
d’attente des processus
prêts
Pid

Regitres du
CPU(Accumlateurs, Adresse de l’instruction
regitres d’index,,,,) suivante à exécuter

chapitre 2 : Gestion de processus 5


Table de processus
 Tout processus créé contient une entrée dans cette table

 Chaque entrée contient un pointeur vers le PCB du processus, l’identifiant du processus,

 Elle est stockée dans l’espace mémoire du système d’exploitation

chapitre 2 : Gestion de processus 6


Etats d’un processus
1 Activation du processus
En
exécution
5 Interruption du processus
2
2 (désactivation du processus par

Interruption
le processeur)
Créé
1 3 terminé 3 Le processus se bloque en attente
de ressource (donnée, …)
Prêt
4 Réveil du processus bloqué

bloqué
4 5 Le processus est terminé
normalement

En exécution = élu
Bloqué = en attente
chapitre 2 : Gestion de processus 7
Ordonnancement de processus

 Ordonnanceur (scheduler)

 File d’attente de processus prêts

 Algorithme d’ordonnancement (FCFS, SJF, tourniquet, avec priorités, …)

chapitre 2 : Gestion de processus 8


L’ Ordonnanceur (scheduler)

L'ordonnanceur (scheduler en anglais) est un programme du SE qui s'occupe de choisir, selon une
politique (ou algorithme) d'ordonnancement donnée, un processus parmi les processus prêts pour lui
affecter le processeur.

Les critères d’évaluation entre les algorithmes d’ordonnancement sont:

 Utilisation du processeur : Un bon algorithme d’ordonnancement sera celui qui maintiendra le


processeur aussi occupé que possible.
 Capacité de traitement (débit): C'est le nombre de processus terminés par unité de temps.
 Temps d'attente : C'est le temps passé à attendre dans la file d'attente des processus prêts.
 Temps de réponse (temps de rotation moyen): C'est le temps passé depuis l’admission(état
prêt) jusqu’à la terminaison (état fin). (temps de fin – temps d’arrivée)
chapitre 2 : Gestion de processus 9
Ordonnancement préemptif et non préemptif

 Si l’ordonnancement est non préemptif, la transition de l’état en exécution (élu) vers


l’état prêt est interdite: un processus quitte le processeur s’il a terminé son exécution
ou s’il se bloque

 Si l’ordonnancement est préemptif, la transition de l’état en exécution (élu) vers l’état


prêt est autorisée: un processus quitte le processeur s’il a terminé son exécution, s’il
se bloque ou si le processeur est réquisitionné.

chapitre 2 : Gestion de processus 10


Algorithmes d’ordonnancement…

FCFS (First Come First Served) / FIFO ( First In/ First Out)

 Non préemptif
 L’ordre est celui de l’arrivée des processus dans la file des processus prêts.
 Le mode de décision est non préemptif;
 la règle d’arbitrage est le choix au hasard pour des processus qui arrivent au même moment.
LIFO ( Last In / First Out)

 L’ordre est l’inverse du précédent : le dernier arrivé est le premier servi.


 Le mode de décision et la règle d’arbitrage sont comme dans FIFO.

chapitre 2 : Gestion de processus 11


Algorithmes d’ordonnancement…
FCFS : Exemple 1: Processus Temps d’arrivée Temps d’exécution
P1 0 4 ms
P2 1 5 ms
P3 3 2 ms

 Diagramme de Gantt
P1 P2 P3

t=0 t=4 t=9 t=11

Temps t’attente par processus : attente(P1) = 0; attente(P2) = 4-1 = 3; attente(P3) = 9-3 = 6


Rappel :
Temps t’attente moyen: (0+3+6)/3 = 3ms Tps de rotation (de réponse) d’un processus =
Date de fin d'exécution - Date d'arrivée
Temps de réponse moyen= ((4-0)+(9-1)+(11-3))/3= 20/3=6,33ms
chapitre 2 : Gestion de processus 12
Algorithmes d’ordonnancement…
FCFS : Exemple 2
Processus Temps d’arrivée Temps d’exécution
P1 0 4 ms
P2 0 5 ms
P3 0 2 ms
 Diagramme de Gantt
P2 -> P3 -> P1
P2 P3 P1

t=0 t=5 t=7 t=11

Temps t’attente par processus : attente(P2) = 0; attente(P3) = 5 ; attente(P1) = 7

Temps t’attente moyen: (0+5+7)/3 = 4ms

Temps de réponse moyen = (11+5+7)/3= 23/3ms= 7, 66 ms


chapitre 2 : Gestion de processus 13
Algorithmes d’ordonnancement…
FCFS : Exemple 3 Processus Temps d’arrivée Temps d’exécution
P1 0 4 ms
P2 0 5 ms
P3 0 2 ms
 Diagramme de Gantt
P2 -> P1 -> P3
P2 P1 P3

t=0 t=5 t=9 t=11

Temps t’attente par processus : attente(P2) = 0; attente(P3) = 9 ; attente(P1) = 5

Temps t’attente moyen: (5+0+9)/3 = 4,66ms

Temps de réponse moyen= (5+9+11)/3= 25/3ms= 8,33 ms


chapitre 2 : Gestion de processus 14
Algorithmes d’ordonnancement…

SJF ( Shortest Job First)

 On suppose que le temps total de service (ou temps d’exécution) t est connu à l’avance.
 Celui qui a t minimale est servi en premier
 Le mode de décision est non préemptif.
 La règle d’arbitrage est la chronologie ou le choix au hasard.
 La difficulté est évidemment l'estimation du temps de service

SRT ( Shortest Remaining Time)

 Version préemptive du SJF.


 Celui qui a le temps d’exécution restant minimal sera servi en premier
 La préemption a lieu à l’arrivée du nouveau processus dans la file des prêts.

chapitre 2 : Gestion de processus 15


Algorithmes d’ordonnancement…
SJF : Exemple 1 Processus Temps d’arrivée Temps d’exécution
P1 0 4 ms
P2 0 5 ms
P3 0 2 ms

 Diagramme de Gantt
P3 P1 P2

t=0 t=2 t=6 t=11

Temps t’attente par processus : attente(P2) = 6; attente(P3) = 0 ; attente(P1) = 2

Temps t’attente moyen: (6+0+2)/3 = 2,66ms

Temps de réponse moyen= (2+6+11)/3= 19/3ms= 6,33 ms


chapitre 2 : Gestion de processus 16
Algorithmes d’ordonnancement…
SJF : Exemple 2 Processus Temps d’arrivée Temps d’exécution
P1 2 4 ms

P2 1 5 ms
P3 0 2 ms
 Diagramme de Gantt

P3 P1 P2
t=0 t=2 t=6 t=11

Temps t’attente par processus : attente(P2) = ?; attente(P3) = ? ; attente(P1) = ?

Temps t’attente moyen = (0 + 5 + 0)/3=1,66ms

Temps de réponse moyen= (4 + 10 + 2)/3 = 5,33 ms


chapitre 2 : Gestion de processus 17
Algorithmes d’ordonnancement…
SRT : Exemple 1 Processus Temps d’arrivée Temps d’exécution
P1 2 4 ms
P2 1 5 ms
P3 0 2 ms

 Diagramme de Gantt

P3 P3 P1 P2
t=0 t=1 t=2 t=6 t=11

Temps t’attente par processus : attente(P2) = ?; attente(P3) = ? ; attente(P1) = ?

Temps t’attente moyen: ?

Temps de réponse moyen= ?


chapitre 2 : Gestion de processus 18
Algorithmes d’ordonnancement…
SRT : Exemple 2 Processus Temps d’arrivée Temps d’exécution
P1 2 4 ms
P2 1 5 ms
P3 0 2 ms
P4 3 2 ms
 Diagramme de Gantt

P3 P3 P1 P4 P4 P1 P1 P1 P2
t=0 t=1 t=2 t=3 t=5 t=8 t=13

Temps t’attente par processus : attente(P2) = ?; attente(P3) = ? ; attente(P1) = ?

Temps t’attente moyen= ((0 + 2) + 7 + 0 + 0) /4 = 2,25 ms

Temps de réponse moyen = (0 + 7 + 0 + 0)/4 = 1,85 ms


chapitre 2 : Gestion de processus 19
Algorithmes d’ordonnancement…

HRRN (Highest Response Ratio Next)

 Cet algorithme permet de prendre en compte l'attente d'un processus.


 On calcule le ratio P(w,t) pour tous les processus présents, celui qui la plus haute valeur du ratio
sera élu :
w: le temps passé à attendre
P(w,t)= (w+t)/t t: le temps total estimé de service

 Non préemptif
 Un processus qui n'attend pas possède un rapport de 1 (cas notamment d'un processus qui vient
d'entrer dans le système) ;
 un processus qui attend longtemps possède un rapport P bien plus grand que 1.

chapitre 2 : Gestion de processus 20


Algorithmes d’ordonnancement…
HRRN : Exemple Processus Temps d’arrivée Temps d’exécution
P1 0 3 ms
P2 2 6 ms
P3 4 4 ms
P4 6 5 ms Temps t’attente par
P5 8 2 ms processus : attente(P1) = 0;
attente(P2) = 1 ; attente(P3)
 Diagramme de Gantt
=5; attente(P4)=9;
P1 P2 P3 P5 P4 attente(P5)=5 ?
Temps t’attente moyen:
(0+1+5+9+5)/5=20/5=4ms
t=0 t=3 t=9 t=13 t=15 t=20

Temps de réponse moyen =


 t=0 ; un seul processus P1-> P1 élu
(3 + 7 + 9+14+7)/5 = 8ms
 t=2; arrivée de P2
 t=3; P1 terminé, P2 seul -> P2 élu
 t=9; P3, P4 et P5 sont dans la file Prêts -> calculer ratio P(P3) = ((9-
4)+4)/4= 2,25; P(P4)= (3+5)/5=1,6; P(P5)= (1+2)/2= 1,5; highest ratio =
2,25 -> P3 … chapitre 2 : Gestion de processus 21
Algorithmes d’ordonnancement…
RR ( Round Robin) (tourniquet ou circulaire en français)

 préemptif
 Un quantum de temps Q est imposé. Lorsqu’un processus actif a consommé son quantum Q, il doit
quitter le processeur et est placé en queue de la file de processus prêts.
 Le quantum Q peut être constant dans le temps ou varier avec la charge du système
 Très utilisé dans les systèmes en temps partagé.

H D B Fin
F A Processeur

Processus suspendu

chapitre 2 : Gestion de processus 22


Algorithmes d’ordonnancement…
RR : Exemple
Processus Temps d’arrivée Temps d’exécution
Q=2ms P1 0 4 ms
P2 2 5 ms
P3 3 2 ms

 Diagramme de Gantt
P1 P2 P1 P3 P2

t=0 t=2 t=4 t=6 t=8 t=10 t=11

T=0: P1; T=1 vide; t=2 :P1,P2, t=3: P3,P1, t=4:P2,P3, t=6: P2, t=8:P2, t=10:P2
Temps t’attente par processus : attente(P1) = (0+2)=2; attente(P2) = 0+4=4 ; attente(P3) = 3

Temps t’attente moyen: ((4-2)+(8-4)+(6-3))/3=

Temps de réponse moyen= ((6-0)+(11-2)+(8-3))/3= 20/3ms= 6,66 ms


chapitre 2 : Gestion de processus 23
Algorithmes d’ordonnancement…

MLF ( MultiLevel Feed-back)…

 N niveaux de priorité sont définis.

 Pour chaque niveau i est défini un temps Ti qui est le temps maximum d’utilisation du
processeur au niveau i (Qi).

 La priorité du processus est décrémentée de 1 et celui-ci passe donc au niveau de priorité


immédiatement inférieur.

chapitre 2 : Gestion de processus 24


Algorithmes d’ordonnancement…

MLF ( MultiLevel Feed-back) (N files d’attentes)

Priorité = 0 Q1 = 8

Priorité = 1 Q2 = 12

Priorité = 2
FCFS

chapitre 2 : Gestion de processus 25


Algorithmes d’ordonnancement

En pratique...

 Les algorithmes que nous avons vu sont tous utilisés en pratique (sauf SJF qui est impossible)

 Les SE sophistiqués fournissent au scheduler une librairie d’algorithmes, qu’il peut choisir et

combiner au besoin après avoir observé le comportement du système

 Pour chaque algorithme, plusieurs paramètres sont disponibles, ex. durée de Q, etc.

chapitre 2 : Gestion de processus 26

Vous aimerez peut-être aussi