Académique Documents
Professionnel Documents
Culture Documents
N
3.3.1.2 Politique du job le plus court d’abord (SJF : Shortest Job First)
Consiste à servir les jobs (processus) courts avant les jobs longs. C’est une
politique qui nécessite la connaissance préalable du temps d’exécution des
jobs.
3.3.1.3 Ordonnancement par priorité et sans réquisition
Avantage :
- Performances meilleures en temps d’attente moyen TAM. Chaque processus possède une priorité fixe consistant en un nombre entier
Inconvénients : positif fixe. Le processus élu est celui dont la priorité est la plus haute.
- Il est difficile d’estimer le temps d’exécution d’un processus. Cette politique est sans réquisition, un processus élu garde le CPU même si
- Génération de la famine (stravation, privation) : l’arrivée un autre processus plus prioritaire vient d’entrer dans la file des prêts.
successive de processus de court temps pénalise les processus de Avantage :
long temps d’exécution. - Possibilité de spécifier la priorité à priori.
Inconvénients :
Processus Temps CPU Ordre d’arrivée - L’arrivée successive de processus de hautes priorités pénalise les
P1 10 1
P2 3 2 processus de faibles priorités.
P3 2 3
P3 - Processus Temps CPU priorité
FCFS-FIFO P1 10 2
P2 - P2 3 1
P1 - P3 2 3
| | | | | | | |
2 4 6 8 10 12 14 16 t Priorité sans
P3 -
Réquisition
P2 -
t1= 0, t2=10, t3=13 TAM = (0+10+13)/3 =7.66 unités
tr1=10, tr2= 13, tr3=15 TRM = (10+13+15)/3 =12.66 unités P1 -
| | | | | | | | t
Figure 3 Diagramme de Gant d’un exemple d’ordonnancement FIFO 2 4 6 8 10 12 14 16
t1 = 3 ; t2 = 0, t3 = 13 TAM = 16/3 = 5,33 unités
Processus Temps CPU tr1 = 13; tr2 = 3, tr3 = 15 TRM = 30/3 = 10 unités
P1 10
Figure 5 Diagramme de Gant d’un exemple d’ordonnancement par priorité et
P2 3
sans réquisition.
P3 2
P3 -
P2 - SJF 3.3.2 Politique préemptives (avec réquisition)
P1 - 3.3.2.1 SRTF (Shortest remaining time first ou SJF avec requisition)
| | | | | | | | t Lorsqu’un processus P est en cours d’exécution, et qu’un nouveau processus
2 4 6 8 10 12 14 16
Q ayant un temps d’exécution plus court que celui qui reste pour terminer
t1 = 5 ; t2 = 2, t3 = 0 TAM = 7/3 = 2,33 unités l’exécution du processus P, ce dernier est arrêté, et le nouveau processus Q
Tr1 = 15, Tr2 = 5, tr3 = 2 TRM = 22/3 = 7,33 unités est exécuté. Cette méthode est équivalente à SJF mais avec réquisition.
3.3.2.4 Round Robin multi niveau RRM Chaque processus peut faire fonctionner simultanément (en parallèle)
Dans cette stratégie, la file des processus prêts est subdivisée en plusieurs plusieurs threads. Un processus léger comprend :
files suivant la classe des processus et leurs priorités. Chaque file est gérée - un identificateur
par un tourniquet de quantum Q. - un compteur de programme
Exemple (voir figure ci-dessous): - un ensemble de registre
File1 processus système - une pile
File2 processus administrateur De point de vue de l’utilisateur, les threads s’exécutent en parallèle. Un
File3 processus utilisateurs thread partage avec d’autres threads appartenant au même processus le
segment de code, le segment de données et des ressources d’E/S (fichiers).
3.4 Ordonnanceur de processeur de LINUX
Trois politiques d’ordonnancement sont proposées : la première est utilisée Avantage :
pour ordonnancer des processus ordinaires, la deuxième pour des processus - Partage de ressources entre threads d’un même processus.
temps réel et la dernière pour les processus à temps partagé. Chaque - Augmenter le degré de parallélisme lors de l’utilisation d’une
processus crée est attaché à l’une des politiques suivantes : architecture multiprocesseur. Ceci améliore les performances du
- Politique SCHED_FIFO non préemptive avec priorité pour les système.
processus temps réel. Inconvénients :
- Politique SCHED_RR préemptive gérée par un tourniquet entre - La programmation utilisant des processus légers est plus difficile que
processus de même priorité, pour les processus temps partagé. la programmation simple.
- Politique SCHED_OTHER pour un processus ordinaire. C’est une - Nécessite des stratégies de synchronisation pour l’accès aux
politique avec extinction de priorité. ressources partagées.
- La complexité des programmations utilisant des processus légers est
plus grande que celle des programmes simples.
4 Concept de thread (processus léger)
5 Le problème de la Section Critique & L’exclusion
File1-
priorité 1 Mutuelle & Interblocage
5.2 Interblocage
C’est la situation où un ensemble de processus sont bloqués indéfiniment.
Chacun en attente de ressources pour sa progression détenue par un autre
processus.
Exemple :
Lorsqu'un thread T1 ayant déjà acquis la ressource R1 demande l'accès à
une ressource R2, pendant que le thread T2, ayant déjà acquis la ressource
R2, demande l'accès à la ressource R1. Chacun des deux threads attend alors
la libération de la ressource possédée par l'autre. La situation est
interblocage.