Vous êtes sur la page 1sur 26

Chap II Gestion des processus

I – Introduction

Quelle est la différence entre un


programme et un processus ?

Rades 1
II- Définitions
◼ Un processus :
➢ c’est un programme en cours d’exécution.
➢ C’est l’activité de l’exécution d’un programme
sur une machine.
➢ Une unité de description d’une activité pouvant
s’exécuter en parallélisme réel ou virtuel
(pseudo parallélisme )

2
II.1- description d’un processus
◼ Un processus possède
◼ un ensemble de caractéristique permettant
sa gestion par le système d’exploitation: Nom,
identifiant, priorité, temps d’exécution ….
◼ Un contexte : l’ensemble d’information que
les action de processus peuvent consulter ou
modifier(valeurs des registres, contexte du
mémoire, …)
◼ Un ensemble d’état par lequel il passe lors de
son cycle de vie ( crée, prêt, en exécution,
bloqué, terminé.)

3
Parallélisme: Exécution en parallèle de processus

On peut parler de :
➢ Vrai parallélisme : Nombre de processeur > 1
➢ Pseudo parallélisme : Nombre de processeur =1 et
nombre de processus >1
À tout instant un seul processus est en exécution réel.
Mais les processus évoluent en parallèle.
Exp : Trois processus qui dessinent un triangle, un cercle et un
rectangle. Chaque processus dessine une portion de la forme puis il
donne la main à l’autre. L’utilisateur aura l’illusion que les trois
formes se dessinent en parallèles vue la rapidité du processeur

4
II.1- description d’un processus…
◼ Les états d’un processus

Crée
Prêt
P.EXE
Exécution(élu) bloqué

terminé

5
II.1- description d’un processus…
◼ Les états d’un processus

Crée
Prêt
P.EXE
Exécution(élu) bloqué

terminé

6
II.3- Mécanismes de commutation
Comment le système d’exploitation réquisitionne
(arrache) le processeur d’un processus en cours
d’exécution?

•(1) Le SE prend le contrôle de processus


l’UC lorsque le processus en cours
d’exécution demande un service Appel au SE Allocation du
du SE (interruption logicielle) (Trap) processeur
(1)

•(2) avant l’allocation du processeur,


SE
le SE lance l’horloge avec la valeur interruption
du quantum (règle la réveil). Lancement
(matérielle)
•L’horloge va générer une (2)
interruption après l’écoulement du
délai spécifié.
Horloge
•Le SE prend le contrôle de l’UC suite
à cette interruption matérielle
7
II.4- La commutation de contexte
◼ La commutation de contexte
consiste à :
➢ La sauvegarde du contexte du
processus qui est en cours d’exécution .
➢ La restauration du contexte du
processus qui va prendre le contrôle de
l’U.C.

8
III- ordonnancement des processus

◼ Dans le cas de pseudo parallélisme on aura


plusieurs processus qui sont à l’état prêt(
demandent le processeur ).
◼ Le système d’exploitation doit choisir le
processus à exécuter: c’est l’Ordonnanceur qui
prend en charge cette tâche
◼ Un bon algorithme d’ordonnancement doit être :
• Équitable :chaque processus prend sa part de temps.
• Efficace :utiliser le processeur a 100%.
• Convivial: Minimiser le temps de réponse des
utilisateurs interactifs
• Optimal: optimiser le temps d’exécution

9
III.1-ordonnancement FCFS(first
come first served)
◼ Principe:exécuter les processus selon leurs
ordre d’arrivée.
◼ La file de processus prêt est organisée en FIFO.
◼ Exemple:
processus Temps ’exécution
Temps d’arrivé

P1 0 8
P2 1 4
p3 2 5
P4 3 9
10
III.1-ordonnancement FCFS(first
come first served).....

P1 P2 P3 P4
0 8 12 17 26

Temps d’attente moyen :


[8+(12-1)+(17-2)+(26-3)]/4=57\4=
14.25

11
III.2-ordonnancement SJF(short
job first )
◼ Principe:favoriser les processus dont le temps
d’exécution est le plus court
◼ Exemple:

processus Temps d’exécution


Temps d’arrivée

P1 0 10
P2 2 15
p3 3 5
P4 5 3

12
III.2-ordonnancement SJF(short
job first )....

P1 P4 P3 P2
0 10 13 18 33

Temps d’attente moyen:


[10+(33-2)+(18-3)+(13-5)]/4=16

13
III.3-ordonnancement SRTF(Short
Remaing Time First )
◼ Principe:choisir le processus dont le temps d’exécution
restant est le plus court :
◼ Exemple:

processus Temps d’exécution


Temps d’arrivée

P1 0 8
P2 2 5
p3 3 5
P4 4 2

14
III.3-ordonnancement SRTF(Short
Remaing Time First).....

P1 P2 P4 P2 P3 P1
0 2 4 6 9 14 20

Temps d’attente moyen:


[20+(9-2)+(14-3)+(6-4)]/4=
10

15
III.4- ordonnancement circulaire
(Round Roubin, Tourniquet)

◼ Chaque processus possède un intervalle


de temps (Quantum) pendant lequel il
est autorisé à s’exécuter.
➢ Si un processus s’exécute toujours au bout
de son Quantum le processeur est
réquisitionné et alloué à un autre processus.
➢ Si, en revanche, le processus se bloque ou se
termine avant la fin de son Quantum le
processeur est alloué a un autre processus.
Courant suivant

A B C D
16
III.4- ordonnancement circulaire …
◼ Choix du quantum?
➢ Un quantum très petit provoque plusieurs commutations
de processus: baisse l’efficacité du processeur
➢ Un Quantum très élevé augmente le temps de réponse
des commandes courtes en mode interactif
▪ Exp: on se propose de calculer le rendement (R ) du
processeur
(R= temps d’exécution des processus / temps total)
Soit les données suivantes:
• temps de commutation: 5ms
• quantum : 20ms
R= 20 / (20 +5) = 80%
Pour un quantum de 95ms on aura R=95 %

17
III.4- ordonnancement circulaire …
Exercice : calculez le temps d’attente Max d’un utilisateur
quand il lance une commande dans les cas suivants:
a-
• le temps d’exécution de la commande est de 40ms.
• 5 processus sont en exécution
• le temps de commutation est de 5 ms
• le quantum est de 20ms (b- quantum 95ms)
c-
• le temps d’exécution de la commande est de 200ms.
• 5 processus sont en exécution
• le temps de commutation est de 5 ms
• le quantum est de 20ms (d- quantum 95ms)

18
III.5- ordonnancement avec
priorité

◼ Chaque processus a une priorité


◼ l’Ordonnanceur lance le processus
prêt dont la priorité est la plus
élevée

19
III.5.a-priorité statique

◼ Les priorités sont définies lors de la


création des processus
◼ Les priorités restent les même
jusqu’à la terminaison de processus
◼ Exemple :ordre militaire
général, commandant,soldat

20
III.5.b-priorité dynamique

◼ Priorités statiques:les processus de priorité


élevée s’exécutent indéfiniment ➔ problème de
la famine pour les processus de priorité faible
◼ Pour empêcher le problème de la famine:
• L’Ordonnanceur décrémente la priorité de
processus élus à chaque impulsion
d’horloge
• Si cette priorité devient <à celle de
processus prêt:
• L’Ordonnanceur procède à la commutation
21
III.5.b-priorité dynamique....

◼ Exemple: soient les processus A,B et C de priorités


respectives 20,18 et 16 et de temps d’exécution 10,12 et
14
A B C
19 18 16

9 12 14

B C
18 16

A
18
12 14
8

C
16

A B
17 18
14
7 12

Commutation

B A C
17 17 16

11 7 14

... ... ...


22
III.5.b-priorité dynamique....

◼ Exemple: soient les processus A,B et C de priorités


respectives 20,18 et 16 et de temps d’exécution 10,12 et
14

B A C
17 17 16

11 7 14

B A C
16 17 16

10 7 14

C
16

A B
16 16
14
6 10

Commutation

... ... ...


23
III.5.b-priorité dynamique....

◼ Remarque: les processus qui ont beaucoup des


opérations d’E/S:
• Attend la majeur partie de temps la fin d’E/S ➔
• Il faut leurs allouer le processeur dès qu’ils soient
prêts
• Un bon algorithme d’ordonnancement consiste a
leurs affecté une priorité de valeur 1/F
• F:la fraction du temps que le processus a
consommé pendant sa dernière activation .

24
III.5.c-priorité avec file
multiniveaux
◼ Principe: Partager le temps processeur entre
les groupes des processus selon leurs niveaux
de priorité
◼ Exemple:
Marge de priorité Pourcentage de
temps processeur
Niveau 1: 80→100 80%

Niveau 2: 0→80 20%


25
IV-Exercice d’application....
1-dressez le diagramme d’exécution des processus en utilisant les
algorithmes suivants: , FCFS, SJF, SRTF ,RR(Q=1), Priorité
statique, Priorité dynamique(4 priorité la plus forte: en
cas d ’égalité utiliser RR).
2- calculez le temps d’attente moyen pour chaque algorithme.

Processus Date d’arrivée Durée estimée Priorité


A 0 2 1
B 2 4 3
C 2 2 4
D 5 5 4
E 0 4 3
F 9 1 1

26