Vous êtes sur la page 1sur 17

Notes du cours : systèmes d’exploitation

Niveau: LF-SI1 de Mme Manel SEKMA


sekma.manel@gmail.com
A.U: 2020-2021

Chapitre 3 Gestion des processus

Partie 1: Ordonnancement des processus


1. Principe d’ordonnancement des processus

2. Notions portant sur l’ordonnancement

3. Algorithmes d’ordonnancement

1
Principe d’ordonnancement des processus
 Le but de la multiprogrammation est de maintenir le taux d’utilisation du microprocesseur
le plus élevé que possible donc d’agir en sorte qu’il soit moins possible inactif.

Cycle d'exécution d'un


processus

 Étant donné qu’un processus se compose d’une succession de phase de calcul et des
phases d’entrée/sortie, le principe de base consiste à faire "recouvrir" une phase
2 d’entrée/sortie d’un processus avec des phases de calcul d’autre processus.
Principe d’ordonnancement des processus
- le processeur est alloué à un processus,
- dès que ce processus effectue une
demande d’E/S, le processeur est alloué à
un autre processus, éliminant ainsi les
Système mono-programmé temps d’attente de l’unité de traitement
chargé des E/S

On suppose qu’on a un seul périphériques d’E/S


Système multiprogrammé

3 Systèmes d'exploitation
Plan
 Partie 1: Ordonnancement des processus

1. Principe d’ordonnancement des processus

2. Notions portant sur l’ordonnancement

3. Algorithmes d’ordonnancement

4. Évaluation des algorithmes

4 Systèmes d'exploitation
Notions portant sur l’ordonnancement
• Ordonnanceur (scheduler) : partie du SE qui sélectionne les processus
qui vont pouvoir accéder au CPU.
• Algorithmes d’ordonnancement (scheduling algorithm)

• Les critères à minimiser :

• Temps écoulé entre soumission et fin d'exécution

• Temps de gestion (swap, changement de contexte, ...)

• Temps d'exécution des E/S (processus interactifs)

• Les critères à maximiser :

• Taux d'activité du CPU

• Nombre de processus traités par unité de temps (débit (Throughput)


5 Systèmes d'exploitation
Notions portant sur l’ordonnancement
• Deux classes d'ordonnanceurs:

 non-préemptif: sélectionne un processus, puis le laisse s’exécuter


jusqu’à ce qu’il se bloque (E/S, wait) ou se termine.
 préemptif: sélectionne un processus et le laisse s’exécuter pendant
un quantum de temps (préemption par l’interruption horloge)
• Exemples de SE

 Préemptifs : Unix,Windows NT/2000/XP..., BeOS

 Non préemptifs : MS-DOS,Windows 3.1, ancien MacOS

6 Systèmes d'exploitation
Notions portant sur l’ordonnancement
Unité de Temps (UT) : il s’agit de valeur entière séparant deux
instants temporels. Le temps entre deux exécutions étant non mesurable et
non significatif dans ce cours, nous utiliserons l’UT pour désigner le
cadencement du temps en cours de cycle d’utilisation ou d’attente.

Un processus peut être décrit selon des critères :


 d’identification, un nom, un numéro.
 de date d’arrivé dans le système d’exécution.
 du nombre de temps d’exécution, exprimé en UT.
 des demandes de ressources, exprimées en UT.
 des temps de blocage, exprimé en UT.
 ….
7 Systèmes d'exploitation
Plan
Partie 1: Ordonnancement des processus
1. Principe d’ordonnancement des processus

2. Notions portant sur l’ordonnancement

3. Algorithmes d’ordonnancement

3.1.FCFS - First Come First Served

3.2. SJF - Shortest Job First

8 Systèmes d'exploitation
Algorithme d’ordonnancement FCFS - First Come First Served

 FCFS - First Come First Served (Premier arrivé, Premier servi (PAPS))
 Gestion des processus à l'aide d'un FIFO
 Ordonnancement non-préemptif

Critères d'exécution des processus pour un mécanisme FCFS


Processus Date d'arrivée Temps d'exécution
P1 0 5
P2 0 8
P3 0 4

Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16

Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us

 3 changements de contexte. Le processus P1 est chargé initialement en T0, le processus P2 prend


la place de P1 en T5 et le processus P3 prend la place de P2 en T13.

9
Algorithme d’ordonnancement FCFS - First Come First Served
Processus Date d'arrivée Tp d'exécution
P1 0 5
P2 0 8
Diagramme de Gantt pour un FCFS P3 0 4

Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16

Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us

• Le temps d’attente: il s’agit de la durée d’attente du processus à être exécuté dans l’état « prêt»,
(date de début d’exécution- date d’arrivée)

• 0 UT pour le processus P1 (il rentre directement dans le système d’exécution )

• 5 UT pour le processus P2. (la somme T0 + T1 + T2 + T3 + T4 = 5 UT).(5-0)


• 13 UT pour le processus P3. Il est calcul en utilisant de T0 à T12. (13-0)

 le temps d’attente moyen: se base sur tous les temps d’attente de chaque processus soit
10 Systèmes d'exploitation (0 + 5 + 13)/3 = 6 UT.
Algorithme d’ordonnancement FCFS - First Come First Served

Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16

Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us

 Définition d'un temps de séjour ou de traitement (turn around time) : il s’agit du

calcul du temps (somme des UT) pris par le processus pour arriver à sa fin d’exécution. Il comprend son
temps d’attente et son temps d’exécution avec le processeur.
• 5 UT de temps pour le processus P1. le temps de traitement moyen, se base sur
tous les temps moyen de chaque processus
• 5 + 8 = 13 UT pour le processus P2 soit :
(5 + 13 + 17)/3 = 11,66 UT.
• 5 + 8 + 4 = 17 UT pour le processus P3.

• Le taux d’utilisation du processeur pendant les 17 UT a été de 100%. C’est-à-dire qu’il


n’existe pas de zone inoccupée pendant la période de fonctionnement.
• Le débit se calcule avec les UT donnés dans le tableau, soit :
Systèmes d'exploitation 3/ (5 + 8 + 4) = 0,1765 processus/UT.
11
Algorithme d’ordonnancement FCFS - First Come First Served

 Prenons maintenant le cas où nous donnons un ordre différent d’arrivé à savoir P3 puis

P2 puisP1 et reprenons les calculs!

Temps
Processus Date d'arrivée
d'exécution
P1 0 5
P2 0 8
P3 0 4
Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16

Processus P3 P3 P3 P3 P2 P2 P2 P2 P2 P2 P2 P2 P1 P1 P1 P1 P1

le temps d’attente moyen devient: (0 + 4 + 12)/3 = 5,33 UT.

le temps de traitement moyen devient: (4 + 12 + 17)/3 = 11 UT


Que peut-on constater?
Ordre1 : P1,P2 puis P3 Ordre 2: P3, P2 puis P1
Temps d’attente moyen: 6 UT. 5,33 UT.
Temps de traitement moyen: 11,66 UT. 11 UT

 qu’il est possible d’améliorer les performances d’exécution des processus uniquement avec une
réorganisation des processus éligibles à l’exécution. C’est-à-dire uniquement en fonction des temps
des différents travaux des processus,

 nous pouvons avoir une meilleure exécution en termes de temps tout en gardant les mêmes
algorithmes.

 Cela nous montre que la mise en place d’un algorithme de trie peut rendre un système plus
performant.

 Une anticipation sur les travaux des processus peut rendre plus performent une exécution.

13 Systèmes d'exploitation
Plan
Partie 1: Ordonnancement des processus
1. Principe d’ordonnancement des processus

2. Notions portant sur l’ordonnancement

3. Algorithmes d’ordonnancement

3.1.FCFS - First Come First Served

3.2. SJF - Shortest Job First

4. Evaluation des algorithmes

14 Systèmes d'exploitation
Algorithme d’ordonnancement SJF - Shortest Job First

 SJF - Shortest Job First (Job le plus court d'abord (PCA))


− Sélection du processus nécessitant le moins du temps
 Ordonnancement non-préemptif ou préemptif:
 non-préemptif : Le processus qui a pris le contrôle du processeur ne le
quitte qu’à la fin de sa demande.

 préemptif : Si un nouveau processus arrive dont sa durée d’utilisation


du processeur est inférieure au temps restant d’exécution du processus
en cours, alors ce nouveau processus obtient le contrôle du processeur,
nous parlons alors de SRTF (Shortest RemainingTime First).

 Note: Attention cependant le fait de quitter un environnement processeur au profit d’une


nouvelle mise en place coute donc un changement de contexte. Par conséquent, si nous sommes en
présence de deux temps identiques le processus en cours d’exécution sera conservé.
15 Systèmes d'exploitation
Algorithme d’ordonnancement
Critères d'exécution des processus pour un mécanisme SJF
SJF - Shortest Job First sans préemption
Processus Date d'arrivée Tp d'exécution
P1 1 5
P2 0 8

Diagramme de Gantt pour un SJF sans préemption:


P3 3 4

Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16


Process
P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3 P1 P1 P1 P1 P1
us

• le temps d’attente : (date de début d’exécution- date d’arrivée)


• 0 UT pour le processus P2.
• 5 UT pour le processus P3. (Il arrive en T3 et commence en T8, le temps d’attente est calculé en faisant
8 – 3 = 5 UT)
• 11 UT pour le processus P1. (Il arrive en T1 et commence en T12, le temps d’attente est calculé en
utilisant 12 – 1 = 11 UT)
le temps d’attente moyen ((0-0) + (8-3) + (12-1))/3 = 5,33 UT.
• le temps de traitement:
• 8 UT de temps pour le processus P2,
• 5+ 4 = 9 UT pour le processus P3  le temps de traitement moyen:
• 11+ 5 = 16 UT pour le processus P1. (8 + 9+ 16)/3 = 11 UT.
Algorithme d’ordonnancement
Critères d'exécution des processus pour un mécanisme SJF
SJF - Shortest Job First avec préemption
Processus Date d'arrivée Tp d'exécution
P1 1 5
P2 0 8
P3 3 4
Diagramme de Gantt pour un SRTF

Temp
T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16
s
Proces
P2 P1 P1 P1 P1 P1 P3 P3 P3 P3 P2 P2 P2 P2 P2 P2 P2
sus

• le temps d’attente: (date de début d’exécution- date d’arrivée ou bien date de fin d’exécution précédente)
• 0 UT pour le processus P1. (1-1)
• 3 UT pour le processus P3. (6 – 3 = 3 UT). le temps d’attente moyen:
• 9 UT pour le processus P2: .(10 – 1 = 9 UT); (0 + 3 + 9)/3 = 4 UT.
P2 arrive en T0 et commence tout de suite pour une UT,
puis il attend jusqu’à T10 pour reprendre son exécution,
• le temps de traitement
• 17 UT de temps pour le processus P2. le temps de traitement moyen:
• 5 UT pour le processus P1 (17 + 5 + 7)/3 = 9,66 UT.
17 • 3 + 4 = 7 UT pour le processus P3.

Vous aimerez peut-être aussi