Académique Documents
Professionnel Documents
Culture Documents
2
Introduction
Dans un système multitâche, la ressource la plus cruciale
d’une machine est le processeur.
Le processeur est alloué à un et un seul processus sélectionné
parmi un ensemble de processus prêts.
Il est nécessaire de bien gérer le processeur pour le rendre
plus productif.
Le SE doit être capable de résoudre les problèmes
suivants:
Comment choisir le prochain processus à exécuter ?
Combien de temps processeur à allouer au processus choisi ?
3
Notions de base des processus (1/2)
Un processus est une entité dynamique: C’est un programme
en cours d'exécution avec ses propres ressources logiques
(données, variables, fichiers) et physiques (mémoire,
processeur, entrée/sortie, …)
Ne pas confondre un processus avec programme
Un programme est une suite d'instructions ; c'est du texte,
un code statique.
Le processus est un concept dynamique, il représente le
déroulement d'une tâche faisant partie d'une application ou
d’un programme système quelconque.
4
Notions de base des processus (2/2)
Plusieurs processus peuvent se trouver simultanément en
cours d'exécution (multiprogrammation et temps partagé)
Le SE manipule deux familles de processus
Processus système : processus lancé par le SE (init
processus père de tous les processus du système)
Processus utilisateur : processus lancée par l’utilisateur
(commande utilisateur)
5
Structure des processus
Les processus des utilisateurs sont lancés par un interprète de
commande. Ils peuvent eux-mêmes lancer ensuite d’autres processus
On appelle le processus créateur, le père, et les processus créés, les fils
Les processus peuvent donc se structurer sous la forme d’une
arborescence.
Au lancement du système, il n’existe qu’un seul processus, qui est
l’ancêtre de tous les autres.
P1 Ancêtre
P2 P3 Père et fils de P1
P4 P5 P6 Fils de P3
7
Etats d’un processus (2/3)
•Sémantique des transitions
Actif
Elu 1 Attribution du processeur au
3
1 processus sélectionné
Bloqué
Prêt
10
PCB: Process Control Bloc
(Bloc de contrôle de processus)
PCB : est une structure de Identificateur processus
données du noyau d’un SE Etat du processus (Elu, Bloqué, prêt)
représentant l’état d’un Compteur d’instructions: le processus
processus donné doit reprendre à l’instruction suivante
Contexte pour reprise (registre et
pointeur, pile…)
Information mémoire (espace
d’adressage)
Informations sur les E/S, les
périphériques alloués, les fichiers
ouverts…
Points interruptibles
Commutation
de contexte
Sauvegarder l’état dans PCB1
16
Ordonnancement des processus (3/4)
Les objectifs d'un ordonnanceur d'un système multi-tâches
sont :
– S'assurer que chaque processus en attente d'exécution reçoive
sa part de temps processeur.
– Minimiser le temps de réponse.
– Utiliser le processeur à 100%.
– Utilisation équilibrée des ressources.
– Prendre en compte des priorités.
– Réduire le nombre et la durée des changements de contexte
17
Ordonnancement des processus (4/4)
Critères de performances :
– Temps de séjour d’un processus (temps de rotation ou de virement) : temps
entre l’entrée du processus et sa sortie.
– Temps d'attente d’un processus : somme des périodes que le processus passe
à attendre.
– Capacité de traitement : nombre de processus traités par unité de temps.
– Taux d’utilisation d’un processeur : rapport entre la durée où le CPU est
actif et la durée totale.
– Etc.
2 types d’ordonnanceurs selon si l’opération de réquisition
est autorisée ou non :
– Ordonnanceurs non-préemptifs (Actif Prêt)
– Ordonnanceurs préemptifs (Actif Prêt)
18
I- Les ordonnanceurs non-préemptifs ou
sans réquisition
I- Les ordonnanceurs non-préemptifs ou
sans réquisition
Le système d’exploitation choisit le processus suivant à
exécuter selon :
Premier arrivé, Premier servi (FCFS, First-Come First-Served)
Plus court d’abord (SPF, Short Process First ou SJF Short Job
First).
Plus prioritaire d’abord
Il alloue le processeur au processus jusqu’à ce dernier se
termine ou se bloque (en attente d’un événement). Il n’y a
pas de réquisition.
20
Algorithme FCFS (1/2)
Processus Temps d’exécution Temps d’arrivage
A 3 0
B 6 1
C 4 4
D 2 6
E 1 7
A A A B B B B B B C C C C D D E
Arrivée de B
Arrivée de c Le temps de séjour pour chaque processus ?
Arrivée de D Le temps d'attente pour chaque processus ?
Arrivée de E 21
Algorithme FCFS (2/2)
Le temps de séjour: C’est la durée moyenne nécessaire pour l’exécution
d’un processus. Le temps de séjour est calculé en soustrayant le temps d'entrée
du processus du temps de terminaison
Le temps d'attente: C’est la durée moyenne qu’un processus passe à
attendre. Il est calculé en soustrayant le temps d'exécution du temps de séjour
Processus Temps de séjour Temps d’attente
A 3-0 = 3 3-3 = 0
B 9-1 = 8 8-6 = 2
C 13-4=9 9-4=5
D 15-6 = 9 9-2 = 7
E 16-7=9 9-1= 8
A A A B B B B B B E D D C C C C
1 5 10 15
Arrivée de B
Arrivée de c
Arrivée de D
Arrivée de E 23
Algorithme SPF (2/2)
Processus Temps de séjour Temps d’attente
A 3-0 = 3 3-3 = 0
B 9-1 = 8 8-6 = 2
C 16-4=12 12-4=8
D 12-6 = 6 6-2 = 4
E 10-7=3 3-1 = 2
24
Exercice d’application
Cinq travaux A, B, C, D et E arrivent pratiquement en même
temps dans un centre de calcul. Leur temps d’exécution
respectif est estimé à 10, 6, 2, 4 et 8 secondes.
Tracez le digramme de Gantt et déterminez le temps moyen de
rotation (séjour) pour chacun des algorithmes
d’ordonnancement suivants.
• Premier arrivé, premier servi FCFS (exécution dans
l’ordre 10, 6, 2, 4, 8) ;
• Plus court d’abord SJF ;
25