module · ordonnancement · 10 min

Quatre stratégies pour partager un CPU entre plusieurs processus.

Modifie les processus, change d'algo et regarde le diagramme de Gantt se reconstruire. Sous FIFO, un long processus bloque tout. Sous round-robin, on alterne au prix d'une fragmentation. Compare le temps d'attente moyen.

défi · minimise l'attente
palier 1 / 3

Trois tâches arrivent en même temps. En FIFO, c'est l'ordre de la file qui décide. Règle les heures d'arrivée pour ordonner le lot et faire baisser l'attente moyenne.

attente moy. ≤ 2,00

algorithme (imposé)

pid arrivée durée attente
A
30
B
13
C
54
A
B
C
0
1
2
3
4
5
6
7
8
9
attente moyenne : 2.33cible ≤ 2.00 tu te rapproches · meilleur possible ≈ 1.67
bac à sable libre

Explore librement : édite les processus, change d'algo, joue sur le quantum. Aucun objectif — observe simplement comment chaque stratégie redistribue l'attente.

algorithme · FIFO first in first out — ordre d'arrivée strict, sans préemption. Simple et équitable, mais un long processus bloque tout le monde derrière.
processus
id arrivée durée priorité
diagramme de Gantt
P1
P2
P3
P4
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
stats globales

attente moyenne

3.75

séjour moyen

7.25

débit

0.286 proc / u.t.

par processus
pid arrivée durée fini à attente séjour
P104404
P212635
P32713411
P4511489
à retenir
  • Un ordonnanceur décide à chaque instant quel processus tient le CPU. C'est lui qui crée l'illusion de la simultanéité.
  • FIFO est simple mais soumis à l'effet « convoi » : un long bloque tout derrière.
  • SJF minimise l'attente moyenne — théoriquement optimal — mais demande de connaître la durée à l'avance.
  • Round-robin est équitable et réactif. Le choix du quantum est crucial : trop court → trop de changements de contexte ; trop long → on retombe sur FIFO.
  • Priorité peut affamer les processus de basse priorité (starvation) — solution : vieillissement, augmenter la priorité avec le temps d'attente.
retour au labo