Vous êtes sur la page 1sur 56

Chapitre 2

Gestion des processus

najla.bouarada@yahoo.fr
Plan
 Introduction
 Notion de processus
 Bloc de contrôle d’un processus (PCB)
 Etats de processus
 Interruption
 Mécanisme de commutation de contexte
 Ordonnancement des processus
 Les algorithmes d’ordonnancement
 Ordonnanceur Windows
 Ordonnanceur Windows
2
Introduction

 Un processeur est :

 la ressource la plus critique d’une machine


 alloué à un et un seul processus sélectionné parmi un ensemble des
processus prêts
 un dispositif capable d’interpréter une séquences d’instructions et
d’exécuter une séquence d’actions correspondantes
 Permet d’effectuer les calculs nécessaires pour que le système
d'exploitation et les applications puissent fonctionner

Il est nécessaire de bien gérer le processeur pour le rendre plus


productif.
3
Introduction

 Dans le cas de monoprogrammation, un seul processus est présent


et a accès à toutes les ressources de la machine pendant tout le
temps de son travail

 Dans le cas de multiprogrammation ou temps partagé, plusieurs


processus peuvent se trouver simultanément en cours d'exécution et
se partagent les ressources de la machine pendant tous leurs temps
d’exécution

 Le SE doit être capable de résoudre les problèmes suivants:


 Comment choisir le prochain processus à exécuter ?
 Combien de temps le processeur est alloué au processus choisi ? 4
Notion de processus (1/4)

 Un processus :
 est une entité dynamique créée à un instant donné, qui disparaît en
général au bout d’un temps fini.
 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, …)
 représente le déroulement d'une tâche faisant partie d'une application
ou d’un programme système quelconque

 Un programme :
 est une suite d'instructions
 c'est du texte, un code statique.
5
Notion de processus (2/4)
 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 Unix)
 Processus utilisateur : processus lancée par l’utilisateur (commande
utilisateur)
 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

6
Notion de processus (3/4)
 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 (le processus init)

P1 Ancêtre

P2 P3 Père et fils de P1

P4 P5 P6 Fils de P3

Figure1: Le hiérarchie des processus


7
Notion de processus (4/4)

 A un instant donné, un processus est caractérisé par plusieurs


informations:
 Son état: Actif, bloqué, etc.;
 Son identificateur;
 Son compteur ordinal: registre qui contient l'adresse mémoire
de l'instruction prochainement exécutée;
 Ses données en mémoire;
 Toutes autres informations utiles à son exécution (E/S,
fichiers ouverts, etc.);

8
PCB: Process Control Bloc
(Bloc de contrôle de processus)
 PCB : est une structure de données du noyau d’un SE, qui
représente la situation actuelle d’un processus donné
 PCB permet la sauvegarde et la restauration du contexte mémoire et
du contexte processeur lors des opérations de commutations de
contexte Identificateur processus
Etat du processus (Elu, Bloqué, prêt)
Compteur d’instructions: le processus 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
9
alloués, le fichiers ouverts…
Etats d’un processus (1/3)
Actif
En cours d’exécution
 Quand un processus s’exécute, il
change d’états.
 Trois états sont possibles pour un
processus:
 Actif (Elu) quand le processeur est
Prêt
en train d'exécuter une de ses
instructions.
→ Dans un système monoprocesseur, un
seul processus peut être actif à la fois;
Bloqué
 Bloqué quand il est en attente d’une
ressource pour terminer
→ i.e. la fin d’une entrée-sortie ou plus
généralement en attente d’un autre
processus. Attente d’un évènement
 Prêt s’il est nouveau ou suspendu en extérieur
faveur d’un autre processus
10
Etats d’un processus (2/3)
 Sémantique des transitions
1 Attribution du processeur au Actif
processus sélectionné 1
2 Réquisition du processeur après
expiration de la durée du temps 2 3
par exemple Prêt
3 Blocage du processus actif en
attendant un évènement tel qu’une
E/S Bloqué
4

4 Déblocage du processus après


disponibilité de l’événement
bloquant 11
Etats d’un processus (3/3)

Terminé
Actif
Nouveau Elu

Bloqué
Prêt

• Nouveau: Le SE a créé le processus


•Terminé: Le processus n’est plus exécutable (il a achevé sa tâche, Il sera détruit
prochainement par le système d'exploitation pour libérer de la place en mémoire 12
Interruption

 Une interruption est un arrêt temporaire de l'exécution normale


d’un processus par le processeur afin d'exécuter un autre processus
 Une interruption est la conséquence d'un événement interne à un
processus (résultant de son exécution) ou extérieur ( indépendant
de son exécution)
 A chaque interruption, est associée une priorité qui permet de
regrouper les interruptions en classes
 Par convention, le niveau de priorité le plus élevé est 0, la priorité
décroit lorsque sa valeur augmente

13
Interruption

Erreurs matérielles (déclenchées


par le matériel)
Horloge (le circuit d’horloge
Ordre envoi un signal d’interruption)
de Requête disque (Lecture de
priorité données sur le disque)
Requête réseau (demande de
connexion à un réseau)
Terminaux (affichage)

Interruptions logicielles:
Instruction spéciale

Hiérarchie des interruptions


14
Interruption

 On distingue trois types d’interruptions :


 les interruptions externes : panne, intervention de l'opérateur, ...
 les déroutements (déclenchés par une cause interne au programme en
cours) qui proviennent d'une situation exceptionnelle ou d'une erreur
liée à l'instruction en cours d'exécution. Il se produit lorsque:
 un programme effectue une opération interdite (exp : débordement
de tableaux hors de la zone d'adresses allouée au programme)
 les données sont incorrectes (exp : division par 0)

 Lorsque l’instruction ne correspond pas à un code exécutable


(Exemple: dive au lieu de div)
 les appels système : un appel système désigne le moment où un
programme s'interrompt pour demander au système d'exploitation
d'accomplir pour lui une certaine tâche, exemple la demande d’E/S …
15
Commutation de contexte

 Le système multiprogrammation permet d’exécuter de façon


apparemment simultanée plusieurs processus sur un ordinateur.
 La simultanéité apparente est le résultat d’alternance rapide
d’exécution des processus présents en mémoire.
 Le passage de l’exécution d’un processus à un autre est appelé
commutation de contexte.
 Une commutation de contexte est le mécanisme qui permet
au système d'exploitation de remplacer le processus élu par un
autre processus.

16
Commutation de contexte

 La commutation de contexte permet de :


 sauvegarder les propriétés du processus actif à un emplacement
particulier de la mémoire
 restaurer les propriétés d’un autre processus depuis un emplacement
spécifique de la mémoire vers le processeur.
 Quand un processus redevient Elu (transition prêt  élu), il doit
la reprendre dans la même situation avant son interruption
 Cette sauvegarde est nécessaire pour pouvoir poursuivre
ultérieurement l’exécution du processus suspendu.
 Les propriétés sont sauvegardées dans le bloc de contrôle de
processus (PCB : Process Control Bloc)
17
Mise en œuvre de la commutation
Système
Processus P1 L’ordonnanceur Processus P2

Points interruptibles
Commutation
Interruption
de contexte
Sauvegarder l’état dans PCB1

Restaurer l’état de PCB2

Interruption
Sauvegarder l’état dans PCB2

Restaurer l’état de PCB1

18
Ordonnancement des processus (1/4)
 Plusieurs processus sont
présents en mémoire centrale
 P1 est élu et s'exécute sur le
processeur
 P2 et P4 sont dans l'état bloqué
car ils attentent tous les deux
une fin d'entrée/sortie
 P3, P5 et P6 sont dans l'état
prêt, ils ne peuvent pas
s’exécuter car le processeur est
occupé par P1
 Lorsque P1 quittera le
processeur parce qu'il a terminé c'est le rôle de l'ordonnancement qui
son exécution, il faudra choisir élira un des trois processus
entre P3, P5 et P6 19
Ordonnancement des processus (2/4)

 L’ordonnancement des processus est le mécanisme de sélectionner


un processus de la file d’attente parmi les processus prêts pour
l’activer et lui allouer le processeur
 Cette tâche est effectuée par deux routines système :

 Un ordonnanceur (scheduler): Il prend en charge la mise en ordre


des processus qui demandent le processeur (quel processus à activer),
Il gère la file d'attente des processus, l'arrivée des demandes et les
place dans la file
 Un distributeur (dispatcher): Il est responsable de l’allocation du
processeur à un processus choisi par le scheduler (le quantum de
temps alloué au processus).
20
Ordonnancement des processus (3/4)

 Les objectifs d'un ordonnanceur d'un système multi-utilisateur


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 équilibre des ressources.
 Prendre en compte des priorités.
 Réduire le nombre et la durée des changements de contexte.

21
Ordonnancement des processus (3/4)

 Critères de performances d’ordonnancement


 Temps de séjour d’un processus (temps de rotation ou de virement) :
la durée moyenne nécessaire pour l’exécution d’un processus
 Temps d'attente d’un processus : la durée moyenne qu’un processus
passe à attendre. Il est calculé en soustrayant le temps d'exécution du
temps de séjour
 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.

22
Ordonnancement des processus (4/4)

 On distingue deux types d’ordonnancement:

 Ordonnancement non préemptif : un processus quitte le processeur


s’il a terminé son exécution ou s’il se bloque. La transition de l’état
Actif à l’état Prêt est interdite
 Ordonnancement préemptif (avec réquisition) si une tâche qui
s'exécute peut être interrompue après un délai d'horloge fixé appelé
quantum de temps, même si la tâche est en cours d'exécution (Actif
Prêt)

23
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.

24
Algorithme FCFS

 Principe :
 L'ordonnancement est fait dans l'ordre d'arrivée en gérant une file
unique des processus sans priorité ni réquisition
 Le premier arrivé est le premier servi
 Pas de priorité, pas de réquisition
 Chaque processus s’exécute jusqu’à ce qu’elle s'interrompe elle-
même (entrée-sortie…) ou termine son exécution
 Avantages:
 l'algorithme est simple, pas de parcours de la liste pour retenir un
processus à activer
 Inconvénients
 Ne permet pas d’optimiser le temps de traitement moyen
25
Algorithme FCFS
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
0 1 5 10 15

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 26
Diagramme de Gant
Algorithme FCFS

 Le temps de séjour: C’est la durée moyenne nécessaire pour l’exécution


d’un processus, 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, 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
Temps de séjour moyen=7,6
Temps d’attente moyen=4,4
27
3,2 unités de temps par processus
Algorithme SPF

 Principe :
 l'Ordonnanceur élit le plus court d'abord
 Les travaux sont organisés dans la file d’attente, selon leurs temps
d’exécution (les travaux les plus cours étant en tête de la file des
prêts).
 Inconvénients :
 nécessité de connaissance du temps de service à priori
 risque de privation des tâches les plus longues

28
Algorithme SPF (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 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 29
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

Temps de séjour moyen=6,4


Temps d’attente moyen=3,2
3,2 unités de temps par processus
 Meilleur temps d’attente

30
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 ;

31
Algorithme du plus prioritaire d’abord (1/3)
 Les algorithmes basés sur la priorité associent à chaque processus
une priorité
 Le processeur est alloué au processeur ayant la plus grande
priorité, sans tenant compte des temps d’exécution et temps
d’arrivée des processus dans la file d’attente

32
Algorithme du plus prioritaire d’abord (2/3)

Processus Temps d’exécution Temps d’arrivage Priorité


A 10 0 3
B 6 0 5
C 2 0 2
D 4 0 1
E 8 0 4

D D D D C C A A A A A A A A A A E E E E E E E E B B B B B B

33
Algorithme du plus prioritaire d’abord (3/3)
Processus Temps de séjour Temps d’attente
A 16 6
B 30 24
C 6 4
D 4 0
E 24 16

Temps de séjour moyen=16


Temps d’attente moyen=10
6 unités de temps par processus

34
II- Les ordonnanceurs préemptifs (avec
réquisition)
 Les ordonnanceurs préemptifs peuvent interrompre un processus
en cours d’exécution si :
 un nouveau processus de priorité plus élevée est inséré dans la file
des Prêts
 ce processus s’exécute pendant trop de temps

 Pour garantir qu’aucun processus ne s’exécute pas pendant trop


de temps, les ordinateurs ont une horloge électronique qui génère
périodiquement une interruption d’horloge
 A chaque interruption d’horloge, le SE reprend la main et décide
si le processus courant doit poursuivre son exécution ou s’il doit
être suspendu pour laisser place à un autre
35
II- Les ordonnanceurs préemptifs (avec
réquisition)
 Le processeur passe d’un processus à un autre en exécutant
chaque processus pendant quelques dizaines ou centaines de
millisecondes.
 Le temps d’allocation du processeur au processus est appelé
quantum
 La commutation entre processus doit être rapide  exiger un
temps nettement inférieur au quantum
 Les ordonnanceurs préemptifs fonctionnent selon :
 Plus court temps restant (SRT)
 Round Robin
 Algorithme basé sur la priorité
36
Plus court temps restant (SRT) (1/2)

 L’ordonnancement du plus court temps restant ou Shortest


Remaining Time est la version préemptive de l’algorithme SJF
 Si un processus arrive dans la file de processus dont le temps
d’exécution est plus court que le reste temps d’exécution du
processus en cours de traitement, alors :
 Le processus en cours de traitement est interrompu
 le nouveau processus entre en exécution immédiatement

37
Plus court temps restant (SRT) (2/2)
Processus Temps d’exécution Temps d’arrivage
A 15 unités de temps 0
B 4 unités de temps 2 unités de temps
Le temps de commutation est supposé nul

A A B B B B A A A A A A A A A A A A A

Arrivée de B
Processus Temps de séjour Temps d’attente
A 19-0=19 19-15=4
B 6-2=4 4-4=0

Temps de séjour moyen=11,5


Temps d’attente moyen=2
3 commutations de contexte 38
Round Robin : Ordonnanceur circulaire (1/4)

 L’algorithme du tourniquet, circulaire, ou Round Robin fait


face aux inconvénients de FCFS et SJF
 La solution de Round Robin est de gérer une liste circulaire de
processus, en attribuant un intervalle de temps fixe à chaque
processus présent dans la liste des prêts, d’une façon équitable et
cyclique
 L’algorithme mémorise dans une file de type FIFO (First In First
Out) la liste des processus prêts, c’est-à-dire en attente
d’exécution
Fin
E D C B A Processeur

Processus suspendu
39
Round Robin : Ordonnanceur circulaire (2/4)

 Il alloue le processeur au processus en tête de file, pendant une


durée de temps (quantum)
 Si le processus courant se bloque ou se termine avant la fin de
son quantum, le processeur est alloué immédiatement au
processus en tête de la file d’attente
 Si le processus ne se termine pas au bout de son quantum, son
exécution est suspendue. Ce processus est alors placé à la fin de la
file d’attente.
 Les processus qui arrivent ou qui passent de bloqué à prêt sont
insérés en queue de file
40
Round Robin : Ordonnanceur circulaire (3/4)

 La commutation de processus dure un temps non nul

 Choix de la valeur du quantum

 Un quantum trop petit cause plusieurs commutations de processus et


réduit l’efficacité du processeur.
 Un quantum très élevé augmente le temps de réponse (temps passé
dans la file d’attente des processus prêts avant la première exécution)
 Un quantum entre 20 et 50 ms est raisonnable

41
Round Robin : Ordonnanceur circulaire (4/4)
Processus Temps d’exécution Temps d’arrivage
A 15 unités de temps 0
B 4 unités de temps 2 unités de temps
Le temps de commutation est supposé nul, Quantum=10

A A A A A A A A A A B B B B A A A A A

Processus Temps de séjour Temps d’attente


Arrivée de B A 19-0=19 19-15=4
B 14-2=12 12-4=8

Temps de séjour moyen=15,5


Temps d’attente moyen=6
3 commutations de contexte
42
Round Robin : Ordonnanceur circulaire (4/4)
Processus Temps d’exécution Temps d’arrivage
A 15 unités de temps 0
B 4 unités de temps 2 unités de temps
Le temps de commutation est supposé nul, Quantum=3

A A A B B B A A A B A A A A A A A A A

Processus Temps de séjour Temps d’attente


Arrivée de B A 19-0=19 19-15=4
B 10-2=8 8-4=4

Temps de séjour moyen=13,5


Temps d’attente moyen=4
5 commutations de contexte
43
Exercice d’application
 Considérons cinq Processus P1, P2, P3, P4, P5, dont leurs temps
d'exécution et leurs temps d’arrivée respectifs sont les suivants :

Le temps de commutation est supposé nul.


 Dessiner le diagramme de GANTT pour l’ordonnancement SRT et
Round Robin (quantum = 3 unités de temps)
 Calculer le temps de séjour de chaque processus, le temps moyen
de séjour, le temps d’attente, le temps moyen d’attente, et le
44
nombre de changements de contexte
Exercice d’application
 Soient trois processus A, B et C. Le processus A arrive en premier
suivi de B (20 msec après), puis C (46 msec après A). On suppose que
l’exécution du processus A nécessite 80 msec de temps d’exécution.
L’exécution du processus B nécessite d’abord 50 msec de temps
d’exécution, bloquera ensuite durant 20 msec pour une entrée/sortie,
puis exigera finalement 30 msec de temps d’exécution. L’exécution du
processus C nécessite 40 msec de temps d’exécution. Le temps de
changement de contexte est de 1 msec.
 Dessiner le diagramme de GANTT pour l’ordonnancement Round
Robin en considérant quantum = 30 msec, 50 msec et 20 msec.
 Calculer le temps de séjour de chaque processus A, B et C, le temps
moyen de séjour, le temps d’attente, le temps moyen
d’attente, et le nombre de changements de contexte
45
Algorithme basé sur les priorités

 On donne à chaque processus une priorité qui peut être statique ou


dynamique
 Le choix du processus à élire dépend des priorités des processus prêts.
 L’ordonnanceur choisit le processus le plus prioritaire qui se trouve en
tête de file
 Les processus ayant la même priorité sont regroupés dans une file FIFO
Il y’a autant de files qu’il y a de niveau de priorité
 Il y a des SE qui utilisent différents algorithmes d‘ordonnancement
pour chaque file de priorité
 En général, les processus de même priorité sont ordonnancés selon
l'algorithme du tourniquet
46
Algorithme basé sur les priorités
(Priorité supérieure)
Processus Temps Temps Priorité 1 E
d’exécution d’arrivage
2 D C
A 10 0 3
3 A
B 5 2 7 7 B
C 15 5 2 (Priorité inférieure)
D 1 10 2
E 3 15 1
On suppose que les priorités sont statiques
A A A A A C C C C C C C C C C E E E DC C C C C A A A A A B B B B B

B C D E

47
Algorithme basé sur les priorités
A A A A A C C C C C C C C C C E E E DC C C C C A A A A A B B B B B

B C D E
Processus Temps de séjour Temps d’attente
A 29 29-10=19
B 32 32-5=27
C 19 19-15=4
D 9 9-1=8
E 3 3-3=0

Temps de séjour moyen=18,4


Temps d’attente moyen=11,6
7 commutations de contexte
48
Exercice
Processus Temps Temps Priorité
d’exécution d’arrivage
A 10 0 3
B 5 2 3
C 15 5 2
D 1 10 2
E 3 15 1

- Appliquer l’algorithme basé sur les priorités


- Appliquer l’algorithme basé sur les priorités avec file d’attente utilisant
Tourniquet pour chaque catégorie de priorité : tant qu’il y a des processus
exécutables dans la catégorie de priorité i, on y applique Tourniquet et on ne
s’occupe pas des catégories inférieures. Si la catégorie i est vide, on exécute les
processus de la catégorie i-1
- Utiliser priorité fixe et quantum = 5 ms - Utiliser priorité fixe et quantum = 10 ms
49
Que se passe si le temps d’exécution de E prend des heures ??
Files d’attente à rétroaction ou retour (1/3)

 Pour empêcher les processus de priorité élevée de s’exécuter


indéfiniment (privation de ressources ou famine), l’ordonnanceur
diminue régulièrement la priorité du processus en cours
d’exécution
 L’attribution et l’évolution des priorités dépendent des objectifs
fixés et de beaucoup de paramètres.

50
Files d’attente à rétroaction ou retour (2/3)

 La priorité du processus actif (en cours d’exécution) est toujours


comparée à celle du processus prêt le plus prioritaire (en tête de
file)
 Lorsqu’elle devient inférieure, une commutation entre les deux
processus est effectuée
 Le processus suspendu est inséré à la fin de la file (queue)
correspondant à la nouvelle priorité calculée (Le processus se
déplace entre les files d’attentes).
Priorité 4
Priorité 3
Priorité 2
Priorité 1 51
Files d’attente à rétroaction ou retour (3/3)

 Exemple
 Les processus qui font beaucoup d’E/S doivent acquérir le
processeur dès qu’ils le demandent.
 La nouvelle valeur de priorité est le rapport : quantum/temps
réellement utilisé par le processus.
 Les processus qui ont le plus grand rapport sont les plus
prioritaires : – Si le quantum = 100 ms et le temps utilisé = 2 ms,
la nouvelle priorité est 50. – Si le quantum = 100 ms et le temps
utilisé = 50 ms, la nouvelle priorité est 2.

52
Exercice
Processus Temps Temps Priorité
d’exécution d’arrivage
A 10 0 3
B 5 2 3
C 15 5 2
D 1 10 2
E 3 15 1

Appliquer l’algorithme basé sur les priorités avec file d’attente utilisant
Tourniquet pour chaque catégorie de priorité : tant qu’il y a des processus
exécutables dans la catégorie de priorité i, on y applique Tourniquet et on ne
s’occupe pas des catégories inférieures. Si la catégorie i est vide, on exécute les
processus de la catégorie i-1
- Recalculer les priorités : à chaque quantum on retranche 1 de la priorité du processus
exécuté et quantum = 10 ms
53
N° Processus Date d’arrivée Temps CPU Priorité

Exercice 1 7h 00 10 mn 2
2 7h 00 15 mn 3
3 7h 03 8 mn 4
4 7h 10 18 mn 5
 On suppose que les priorités sont croissantes : 5 est le plus prioritaire.
 Pour calculer la priorité d’un processus, on utilise la formule suivante :
Temps d′ attente+Temps CPU restant
 𝑃𝑟𝑖𝑜𝑟𝑖𝑡é =
Temps CPU
 Hypothèses :
 Au démarrage, les priorités des processus sont égales à leurs priorités statiques
(indiquées dans le tableau).
 Les priorités ne sont calculées que toutes les 5mn. Pour les autres temps, on prend
la priorité précédente.
 Le temps d’attente d’un processus est son temps d’attente depuis sa dernière
exécution.
 Si on a le choix entre deux processus de même priorité, on choisit celui qui attend
depuis le plus longtemps.
 Donnez le diagramme de Gantt sachant que la priorité est recalculée toutes
54
les 5 minutes.
Ordonnanceur Windows

 L’ordonnancement au niveau du SE Windows se base sur


l’algorithme priorité dynamique.
 Une priorité qui évolue au cours de l’exécution du processus.
 L’ordonnanceur parcourt chaque file en utilisant l’algorithme du
Tourniquet

55
Ordonnanceur Linux

 Une priorité est affectée à chaque processus


 La priorité la plus importante est celle qui est la plus élevée
 Un quantum est affecté à un processus selon sa priorité
 Un processus ayant une priorité de 10 aura un quantum de 100 ms.
 Après 10 ms, le quantum diminue de 1 ms
 Le processus ayant la note la plus élevée sera exécuté en premier
 Note= priorité + quantum E

56

Vous aimerez peut-être aussi