Académique Documents
Professionnel Documents
Culture Documents
Filière : LISI 1
A. U. 2021-2022
1
Plan
1. Définition
a. Processus
b. Threads
2. Le modèle des processus
a. L’arborescence
b. Le PCB
c. Les états d’un processus
d. Commutation de contexte
3. Ordonnancement des processus
2
Pour la gestion des processus..
3
Définition: Processus
Segment de code
Un processus est un programme en cours (instructions en langage
d’exécution. Il définit un objet dynamique tandis machine)
que le programme est un objet statique. Segment de données
(les variables)
Un processus est caractérisé par son pointeur de
pile, ses instructions et ses données,… Ces Composantes
attributs définissent le contexte d’un processus. d’un processus
4
Définition: Thread
Un thread ou encore processus léger (lightweight process) est
une unité d’exécution de code. Il est issu d’un processus mais ne
contenant que la pile d’exécution.
5
Modèle des processus: Arborescence
Les processus sont organisés sous forme d’une arborescence
ou chaque processus a un seul père et peut avoir plusieurs fils.
Un processus est identifié par un PID (Process IDentifier) et un
PPID (Parent Process IDentifier).
Exemple: L’arborescence des processus sous Linux
init
Login:
Mot de passe:
Login:
Mot de passe:
… Login:
Mot de passe:
shell
6 ls
Modèle des processus: PCB
Chaque processus est représenté dans le système
d’exploitation par une structure de données contenant toute
information décrivant le contexte du processus appelé bloc de
contrôle (Process Control Bloc: PCB).
8
Modèle des processus: Transitions
1. Création du processus
2. Allocation du processeur Nouveau Terminé
Sur un système
multiprogrammé, le SE doit P0 P1
redonner le contrôle du Élu
processeur d’un processus à Inactif
un autre en effectuant des Sauvegarde PCB0
commutations de contexte. Recharge PCB1
Inactif Élu
La commutation de contexte
consiste a mémoriser le PCB
Sauvegarde PCB1
du processus courant et
charger le PCB du processus Recharge PCB0
Inactif
a élire. Élu
10
Ordonnancement des processus
P1
P2
Algo. Pi
P3 CPU
d’ordonnancement
…
Pn
11
Quand invoquer l’ordonnanceur
Chaque fois qu’un nouveau processus est prêt Bloqué
12
Ordonnancement des processus
14
Algorithmes Ordonnancement
0 24 27 30
Temps de rotation pour P1=(24-0), P2=(27-0), P3=(30-0)
Temps de rotation moyen : (24+27+30)/3=27
Temps d’attente pour P1= 24-24; P2= 27-3; P3= 30-3
16 Temps attente moyen: (0 + 24 + 27)/3 = 17
Tenir compte du temps d’arrivée!
P1 P2 P3
17 0 24 27 30
arrivée P2 arrivée P3
Tenir compte du temps d’arrivée!
P1 P2 P3
0 24 27 30
arrivée P2 arrivée P3
FCFS
Temps de rotation moyen = (24-0)+(27-2)+(30-7) /3= 24
Temps d’attente moyen = ((24-0-24)+(27-2-3)+(30-7-3)/3 =
18 (0 + 22 + 20 )/3 = 14
Exemple de SJF sans préemption
Processus Arrivée Temps d’exécution
P1 0 7
P2 2 4
P3 4 1
P4 5 4
0 7 8 12 16
20
Difficultés majeures avec les méthodes
discutées
Premier arrivé, premier servi, FCFS:
Temps moyen d’attente non-optimal
Mauvaise utilisation des ressources s’il y a apport continu de processus
aux cycles longs (v. effet d’accumulation)
22
Exemple: Tourniquet tranche = 20
Processus Temps d’exécution
P1 53
P2 17
P3 68
P4 24
24
A retenir
Algorithmes d’ordonnancement
– FCFS, SJF, SNRT, RR, avec Priorités
25