Station MinuitExplorer, comprendre, pratiquer

SYSTEMES — Comprendre les systèmesAutomne 2026

Semaine 7 — Ordonnancement et révision

4. FCFS, SJF, SRT et Round Robin

LECTURE 06 / 157 repèresSynthèse avec omissions acceptées

4. FCFS, SJF, SRT et Round Robin

4.1 FCFS : l’ordre d’arrivée peut dominer la moyenne

First-Come, First-Served emploie une file. La tête reçoit le CPU jusqu’à sa fin ou son blocage; une tâche qui se débloque rejoint la queue. Une arrivée ne préempte pas. Cette simplicité limite les commutations et évite la famine sous les hypothèses d’une file dont les tâches finissent ou se bloquent. En revanche, une longue tâche devant des courtes détériore leur réponse; une tâche E/S remise en queue à chaque retour peut aussi être pénalisée.

Premier exemple : besoins P1=24, P2=3, P3=3. Les minuscules arrivées 0/0,0001/0,0002 établissent l’ordre P1, P2, P3; le cours les néglige dans les calculs arrondis.

Code (text) · sélectionner pour copier

P1[0,24] → P2[24,27] → P3[27,30]
Tableau 1 — Tâche · CPU · Fin · Traitement arrondi · Attente arrondie
Tâche CPU Fin Traitement arrondi Attente arrondie
P1 24 24 24 0
P2 3 27 27 24
P3 3 30 30 27
Total 30 — 81 51
Moyenne 10 — 27 17

Avec les décalages exacts, les attentes sont 0/23,9999/26,9998; les moyennes T/W deviennent 26,9999/16,9999. L’arrondi ne change pas la conclusion.

Le même travail présenté dans l’ordre P2, P3, P1 donne P2[0,3] P3[3,6] P1[6,30]. Dans l’ordre P1, P2, P3, les traitements sont 30/3/6 et les attentes 6/0/3 : totaux 39 et 9, moyennes 13 et 3. Le CPU total reste 30, mais l’attente moyenne passe de 17 à 3. FCFS n’optimise donc pas cette moyenne; il suit un ordre de file.

4.2 SJF : choisir le plus court parmi les prêts

Shortest Job First, parfois mal abrégé SJB dans les diapositives, choisit la plus courte durée prévue au moment où un choix devient possible. Sa forme étudiée ici est non préemptive. Elle suppose connaître ou prévoir les besoins CPU, donnée rarement connue exactement dans un système réel. Les longues tâches peuvent être fortement désavantagées.

Avec les quatre arrivées à 0 et les besoins P1=6, P2=8, P3=7, P4=3 :

Code (text) · sélectionner pour copier

P4[0,3] → P1[3,9] → P3[9,16] → P2[16,24]
Tableau 2 — Tâche · Fin=T · Attente=T−CPU
Tâche Fin=T Attente=T−CPU
P1 9 3
P2 24 16
P3 16 9
P4 3 0
Total 52 28
Moyenne 13 7

Pourquoi cet ordre réduit-il l’attente moyenne lorsque tout arrive ensemble? Si une durée x précède y avec x>y, inverser les deux remplace l’attente x du court par y pour le long. Les tâches suivantes commencent au même instant car x+y ne change pas. Supprimer les inversions conduit aux durées croissantes et diminue l’attente totale. Cela n’offre pas la meilleure attente à chacun : P2 attend encore 16.

Deuxième scénario : seul P4 arrive maintenant à 3. À 0, les prêts sont P1/P2/P3; P1 est le plus court et démarre. À 3, P4 arrive, mais n’interrompt pas P1. À 6, P1 termine; P4 passe de 6 à 9, P3 de 9 à 16, P2 de 16 à 24. P4 a donc T=9−3=6 et W=6−3=3. Lui donner le CPU à 3 appliquerait une autre politique. Le diagramme final et la règle priment sur les états intermédiaires d’animation.

4.3 SRT : comparer le reste, pas le besoin initial

Shortest Remaining Time, aussi SRTF, est la variante préemptive. Une arrivée strictement plus courte que le reste courant peut prendre le CPU. Après une fin, on choisit le plus petit reste parmi les prêts. Si des courtes tâches arrivent continuellement, les longues risquent la famine.

Tableau 3 — Tâche · Arrivée · CPU
Tâche Arrivée CPU
P1 0 8
P2 1 4
P3 2 9
P4 3 5

À 0, P1 démarre. À 1, son reste est 7; P2 avec 4 le préempte. À 2, P3 avec 9 n’interrompt pas P2 qui n’a plus que 3. À 3, P4 avec 5 ne remplace pas P2 qui n’a plus que 2. À 5, P2 termine : parmi P1 reste 7/P3 reste 9/P4 reste 5, P4 passe jusqu’à 10. P1 reprend ses 7 unités jusqu’à 17, puis P3 ses 9 jusqu’à 26.

Code (text) · sélectionner pour copier

P1[0,1] → P2[1,5] → P4[5,10] → P1[10,17] → P3[17,26]
Tableau 4 — Tâche · Fin · T=F−A · CPU · W=T−CPU
Tâche Fin T=F−A CPU W=T−CPU
P1 17 17 8 9
P2 5 4 4 0
P3 26 24 9 15
P4 10 7 5 2
Total — 52 26 26
Moyenne — 13 6,5 6,5

On retrouve l’attente de P1 entre 1 et 10, P3 entre 2 et 17, P4 entre 3 et 5. Une ancienne graduation 20 sur des figures intermédiaires n’est pas la fin de P1 : les étapes finales donnent bien 17.

4.4 Round Robin : une file avec une durée maximale par tour

RR est préemptif. La tête s’exécute au plus pendant q. Si elle finit ou se bloque plus tôt, le CPU passe immédiatement au suivant. Si elle reste prête à l’expiration, elle rejoint la queue avec son reste. Une tâche terminée ne revient pas. Une tâche seule peut recevoir plusieurs tranches adjacentes : l’alternance ne crée pas de faux concurrent.

Exemple du support : toutes les arrivées à 0 dans l’ordre P1, P2, P3; besoins 20/3/7; q=4.

Tableau 5 — Intervalle · Tâche et reste après passage · File prête suivante
Intervalle Tâche et reste après passage File prête suivante
0–4 P1 reste 16 P2, P3, P1
4–7 P2 termine P3, P1
7–11 P3 reste 3 P1, P3
11–15 P1 reste 12 P3, P1
15–18 P3 termine P1
18–22 P1 reste 8 P1
22–26 P1 reste 4 P1
26–30 P1 termine Vide

P2 ne consomme que 3 : ne pas attendre 8 pour lancer P3. P1 reçoit cinq fois 4 unités; P3 reçoit 4 puis 3. Les fins/T dans l’ordre P1/P2/P3 sont 30/7/18, les attentes 10/4/11. Moyennes T=55/3≈18,33 et W=25/3≈8,33. Vérification de P1 : attentes 4–11 et 15–18, soit 7+3=10. P3 attend 0–7 puis 11–15, soit 11. La réponse initiale de P1 est 0 malgré T=30 et W=10.

4.5 Choisir le quantum et comprendre le compromis

Un petit quantum améliore les occasions de réponse et l’impression de simultanéité. Il multiplie les commutations, donc la part de CPU consacrée à la gestion. Un grand quantum réduit cette gestion et favorise le débit, mais peut laisser une courte tâche longtemps derrière les tranches des autres. Le support illustre 1 ms, une plage intermédiaire 20–50 ms, puis 500 ms : aucun optimum universel n’en découle.

Une tâche E/S qui se réveille rejoint une file. Si les autres gardent chacune longtemps le CPU, elle peut attendre beaucoup avant une très courte rafale qui relancerait pourtant son E/S. Réduire q peut améliorer cette réaction; une tâche bloquée ne consomme pas sa tranche pendant son attente. Le corrigé suggère d’adapter la durée aux phases calcul/E/S, sans définir de loi adaptative chiffrée. Pour du calcul avec peu d’E/S, les deux tailles peuvent convenir selon le critère.

Dans le modèle de simples demandes CPU sans blocage, si q dépasse chaque besoin, RR revient à FCFS. Ce fait n’autorise pas à confondre le partage continu idéal d’un autre exercice avec un tourniquet discret; §8.3 développe cette différence.

4.6 Comparer les règles

Tableau 6 — Politique · Décision · Préemption · Donnée nécessaire · Limite principale
Politique Décision Préemption Donnée nécessaire Limite principale
FCFS Tête de file Non Arrivées Courtes derrière une longue
SJF Plus courte durée prête Non Besoin prévu Connaissance du futur; longues pénalisées
SRT Plus petit reste prêt Oui Reste prévu Famine des longues possible
RR Tête pendant au plus q Oui File et quantum Réponse contre coût de commutation

Une moyenne faible, une bonne première réponse, une part régulière et une priorité respectée sont des propriétés différentes. Choisir la bonne politique sur papier exige d’abord de reconnaître celle demandée, puis de suivre ses événements; on ne sélectionne pas après coup la règle qui donne le chiffre préféré.

Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du thème. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.