module · ordonnancement · 10 min

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

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

défi · minimisez 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égler 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 vous vous rapprochez · meilleur possible ≈ 1.67
bac à sable libre

Explorez librement : éditez les processus, changez d'algo, jouez sur le quantum. Aucun objectif — observez 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