Vous êtes sur la page 1sur 24

SYSTÈMES D’EXPLOITATION

Ordonnancement des processus

L1 – Business Computing
Dr. Mouna Chebbah
Dr. Haïfa Nakouri
Introduction
Stratégies d’ordonnancement

• Ordonnanceur: le module du noyau du système


d'exploitation qui choisit les processus qui vont être
exécutés par les processeurs d'un ordinateur.

• Critères d’ordonnancement:
• L’ordre d’arrivée
• Durée d’exécution
• La priorité

2
Ordonnanceur
Ordonnancement des processus

Scheduler : Ordonnanceur en anglais

3
Stratégies d’ordonnancement
Comparaison des stratégies d’ordonnancement
Les critères permettant de comparer les stratégies d’ordonnancement:
• Le taux d’utilisation de l’unité centrale: le rapport entre la durée
pendant laquelle l’unité centrale est active et la durée totale.
• Le temps de traitement moyen: la moyenne des intervalles de
temps séparant la soumission et l’accomplissement d’un
processus.
• Le temps d’attente moyen: la moyenne des intervalles de temps
séparant le lancement d’un processus et sa mise en exécution.
• Un bon algorithme d’ordonnancement doit:
• Maximiser le taux d’utilisation de l’UC et le débit;
• Minimiser le temps moyen de traitement;
• Minimiser le temps moyen d’attente;
• Minimiser le temps de réponse.

4
Diagramme de Gantt
Comparaison des stratégies d’ordonnancement

• Représentation schématique de l’évolution dans le


temps des processus.

• Le diagramme de Gantt est un outil utilisé (souvent en


complément d'un réseau PERT) en ordonnancement et
en gestion de projet et permettant de visualiser dans le
temps les diverses tâches composant un projet.

5
Algorithmes d’ordonnancement
Les algorithmes d’ordonnancement
• Deux types d’algorithmes d’ordonnancement:
• Les algorithmes non-préemptifs (sans réquisition)
empêchent l’appropriation du processeur par un processus
avant la fin du processus courant

• Les algorithmes préemptifs (avec réquisition) : possibilité


d’appropriation du processeur par un processus avant la fin
du processus courant
6
Algorithme non-préemptif: FIFO
Algorithme selon l’ordre d’arrivée (FIFO)
• FIFO traite les processus dans l’ordre de leur
soumission (date d’arrivée) sans aucune considération
de leur temps d’exécution.
• L’organisation de la file d’attente des processus prêts
est donc tout simplement du “First In First Out”.
• L’algorithme FIFO consiste à choisir à un instant donné,
le processus qui est depuis le plus longtemps dans la file
d’attente, ce qui revient à choisir celui disposant du
temps d’arrivée minimal et l’exécuter pendant un temps
d’exécution bien définit.
• Ce procédé est répété jusqu’à épuisement des
processus dans la file d’attente. 7
Algorithme non-préemptif: FIFO
FIFO: Exemple
FIFO : exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


d’ordonnancement FIFO.
2. Calculez le Temps d’Attente Moyen (TAM) et le Temps de Traitement Moyen (TTM).

9
Algorithme non-préemptif: SJF
• SJF: Shortest Job First.

• SJF choisit de façon prioritaire les processus ayant le


plus court temps d’exécution sans réellement tenir
compte de leur date d’arrivée.

• Ce procédé est répété jusqu’à épuisement des


processus dans la file d’attente.

10
Algorithme non-préemptif: SJF
SJF: Exemple
SJF : exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


d’ordonnancement SJF.
2. Calculez le TAM et le TTM.

12
Algorithme non-préemptif:
Algorithme basé sur la priorité
• Les algorithmes fondés sur les priorités attribuées par le
système d’exploitation aux processus choisissent les
processus les plus prioritaires sans prise en
considération d’une manière générale des données
durée d’exécution et date d’arrivée des processus.

• Le principe de cet algorithme consiste à associer à chaque


processus une priorité. Le processeur est alloué au processus
ayant la plus grande priorité. Ce procédé est répété jusqu’à
épuisement des processus se trouvant dans la file d’attente.

13
Algorithme préemptif:
algorithme basé sur la priorité
Algorithme basé sur la priorité:
Algorithme Basé sur lesExemple
Priorités : exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


d’ordonnancement basé sur la priorité.
2. Calculez le TAM et le TTM.

15
Algorithme préemptif:
algorithme du tourniquet
• Le Round Robin (RR) décrit une stratégie dite du
tourquinet où on procède à un recyclage des processus
sur le processeur tant que ceux-ci ne se sont pas
terminés.
• Lorsqu’un processus est élu, on lui attribue une tranche
de temps fixe, appelé quantum, pendant laquelle il
s’exécute. Au bout de ce temps, on ne poursuit plus
l’exécution du processus, on lui retire donc le processeur
et on le réinsère dans la file des processus prêts.
• Là, il devra attendre sa prochaine élection.
• Ainsi, le processus se voit attribuer successivement
plusieurs tranches de temps avant d’atteindre sa
terminaison.
Algorithme préemptif:
algorithme du tourniquet
• Le RR choisit le premier processus sur la file d’attente et
l’affecte au processeur pendant un Quantum Q. Le
passage d’un processus à un autre se fait selon l’ordre
d’arrivée du processus dans la file d’attente.

• Le tourniquet constitue donc une généralisation de


l’algorithme FIFO.

17
Algorithme préemptif:
algorithme du tourniquet
Algorithme du tourniquet:
Exemple
Algorithme du tourniquet : exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


d’ordonnancement Tourniquet avec Q=5.
2. Calculez le TAM et le TTM.

19
Algorithme préemptif: SRT
• Appelé SRT: Shortest Remaining Time

• SRT choisit le processus dont le temps d’exécution restant est le


plus court.

• On procède comme dans le cas de la stratégie du tourquinet à


l’attribution d’un quantum fixe au delà duquel on cherche à élire le
processus le plus court en terme de temps d’exécution restant pour
atteindre sa terminaison.

• Le SRT est une généralisation sans réquisition de l’algorithme SJF.


L’algorithme choisit la tâche pour laquelle le temps d’exécution est
minimal et l’affecte au processeur pendant un quantum temps Q. Le
passage d’un processus à un autre se fait en fonction du temps
d’exécution restant associé au processus se trouvant dans la file
d’attente.
20
Algorithme préemptif: SRT
SRT:Exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


d’ordonnancement SRT avec Q=5.
2. Calculez le TAM et le TTM.

22
Algorithme préemptif:
Algorithme Basé sur la Priorité

• Le principe de cet algorithme consiste à associer à


chaque processus une priorité.
• Le processeur est alloué au processus ayant la plus
grande priorité pendant un quantum de temps Q.
• Ce procédé est répété jusqu’à épuisement des
processus se trouvant dans la file d’attente.
• C’est une généralisation des algorithmes basés sur les
priorités avec réquisition.
• Les priorités peuvent être dynamiques. Elles sont, dans
ce cas recalculé après chaque quantum de temps. 23
Algorithme préemptif Basé sur
la Priorité : Exemple

1. Donnez le digramme d’exécution des processus en utilisant l’algorithme


non-préemptif basé sur la priorité avec Q=5. Notez que les priorités
sont croissantes.
2. Calculez le TAM et le TTM. 24

Vous aimerez peut-être aussi