Terminale · Architectures, systèmes et réseaux

L’ordonnancement des processus

Trois applications semblent avancer ensemble sur un seul cœur. Pourtant, à un instant donné, ce cœur n’exécute qu’un processus. L’impression de simultanéité vient notamment des changements rapides de processus. Décider qui obtient le processeur, et pour combien de temps, est le travail de l’ordonnanceur.

SofienAvec SofienIngénieur et enseignant en informatique
Dans ce chapitre

Un cap pour ce chapitre

Ce que vous saurez faire

  • Distinguer exécution, attente de ressource et état prêt.
  • Lire un diagramme d’ordonnancement.
  • Comparer des politiques sous des hypothèses explicites.
Les bases utiles pour commencer

Partir d’un modèle précis

Un processus prêt possède tout ce qui lui manque pour avancer sauf le processeur. Un processus bloqué attend un événement, par exemple la fin d’une lecture. L’ordonnanceur choisit parmi les processus prêts. Accorder du temps de processeur à un processus bloqué ne fait pas apparaître la donnée qu’il attend. Cette distinction explique pourquoi un téléchargement peut attendre alors que d’autres applications calculent.

Pour étudier une politique, on précise les arrivées, les durées de calcul, les éventuelles entrées-sorties et le nombre de cœurs. Ici, trois processus A, B et C arrivent à l’instant zéro, dans cet ordre. Ils demandent respectivement 5, 2 et 1 unités de processeur, sans entrée-sortie. Les changements de contexte sont d’abord supposés gratuits.

Dessinez trois cases « prêt », « en exécution » et « bloqué ». Une préemption ramène le processus exécuté vers les prêts ; une demande de lecture non satisfaite le bloque ; la fin de la lecture le rend prêt. Cette représentation explique pourquoi le processeur peut traiter B pendant que A attend le disque.

Premier arrivé, premier servi

Une politique non préemptive laisse le processus choisi poursuivre jusqu’à sa fin ou jusqu’à son blocage. Avec le premier arrivé, premier servi, A occupe les instants 0 à 5, B les instants 5 à 7 et C les instants 7 à 8. C attend donc sept unités pour un calcul qui n’en exige qu’une. Le processeur reste occupé, mais la réactivité est mauvaise pour ce petit travail.

Le temps de séjour va de l’arrivée à la terminaison. Le temps d’attente dans la file des prêts correspond aux périodes pendant lesquelles le processus pourrait calculer mais ne dispose pas du cœur. Dans notre modèle sans blocage, attente = séjour moins durée de calcul. Cette égalité doit être adaptée si des périodes d’entrée-sortie apparaissent.

Tourniquet et quantum

Le tourniquet, aussi appelé round robin, donne au plus un quantum de temps à chaque processus prêt. Si le processus n’a pas terminé, il rejoint la fin de la file. Avec un quantum de deux, la séquence est A pendant deux unités, B pendant deux, C pendant une, A pendant deux, puis A pendant une. C termine à cinq au lieu de huit.

Une politique préemptive peut interrompre un processus qui pourrait continuer. Le système sauvegarde suffisamment de contexte pour le reprendre. Un quantum court favorise la réactivité mais peut multiplier ces changements ; un quantum très long rapproche le comportement du premier arrivé, premier servi. Les politiques présentées sont des modèles pédagogiques, pas une description exhaustive d’un système actuel.

Comparer sans déclarer un vainqueur universel

Servir d’abord les travaux courts réduit parfois l’attente moyenne, mais nécessite une estimation de leur durée. Dans un flux continu, certains travaux longs peuvent être longtemps repoussés. Le tourniquet donne régulièrement accès au processeur, sans garantir le meilleur temps moyen de terminaison. La bonne question est donc : quelle propriété veut-on favoriser ?

Pour justifier une trace, écrivez les bornes de chaque intervalle et l’état de la file après celui-ci. Vérifiez que chaque processus a reçu exactement sa durée demandée. Dans notre exemple, la somme des intervalles vaut huit, indépendamment de la politique, puisque nous ignorons les coûts de commutation et toute période d’inactivité.

Exemple suivi : des arrivées décalées

Prenons A, arrivé à 0 pour 4 unités de calcul, B, arrivé à 1 pour 2 unités, et C, arrivé à 3 pour 1 unité. En premier arrivé, premier servi, A occupe [0 ; 4[, B [4 ; 6[ puis C [6 ; 7[. L’écriture avec une borne droite exclue évite de compter deux fois l’instant du changement. Les attentes valent 0 pour A, 4 - 1 = 3 pour B et 6 - 3 = 3 pour C. Leur moyenne est 2, alors que les dates de première exécution sont 0, 4 et 6. Il faut donc soustraire chaque arrivée, et non commencer tous les compteurs à zéro.

Pour le tourniquet avec des arrivées, indiquez aussi une convention lorsque arrivée et fin de quantum coïncident : les nouveaux processus sont-ils insérés avant ou après celui qui est interrompu ? Deux traces différentes peuvent être correctes si elles suivent des conventions différentes. Avant de simuler, écrivez ces hypothèses. Sans processus prêt, on dessine un intervalle d’inactivité et on avance jusqu’à la prochaine arrivée.

ProcessusArrivéeCalcul utileExécution FIFOAttente
A040 à 40
B124 à 63
C316 à 73

Exemple suivi : comprendre le compromis du quantum

Reprenons A=5, B=2, C=1, tous arrivés à zéro. Avec un quantum de 1, les six premiers intervalles exécutent A, B, C, A, B, A ; A travaille encore entre 6 et 8. B termine à 5 et C à 3. Les attentes sont donc 3 pour A, 3 pour B et 2 pour C. Avec un quantum de 2, les terminaisons sont 8, 4 et 5 : B bénéficie de sa tranche complète, tandis que C commence plus tard. Un petit quantum ne diminue donc pas l’attente de chaque processus.

La première réponse est l’instant où le processus commence à travailler, alors que la terminaison arrive après tout son calcul. Une application interactive peut privilégier la première réponse. Le coût dépend également de ce qu’on appelle une commutation : deux tranches consécutives de A n’impliquent pas nécessairement un changement de processus. Dans un exercice chiffré, comptez exactement les événements auxquels l’énoncé attribue un coût.

À vous de faire varier les choses

Pilotez le partage du processeur

Modifiez la durée de A et la politique. B dure 2 unités, C dure 1 ; tous arrivent à zéro. Comparez les attentes et les tranches.

Lire le résultat de l’expérience initiale

8 unités de calcul, 5 tranches.

Attentes : A 3, B 2, C 4. Les arrivées sont simultanées, sans entrées-sorties ni coût de commutation.

DébutFinProcessus
02A
24B
45C
57A
78A

Le travail total est identique dans ce modèle ; l’ordre change surtout le moment où chacun obtient une réponse.

De la compréhension à l’autonomie

À vous de résoudre

Cherchez d’abord par vous-même. Vérifiez les résultats demandés, utilisez les indices si nécessaire, puis comparez votre méthode à la correction.

Exercice 1 · Comprendre#

Lire un planning

A dure 4 unités, B dure 1, C dure 3. Tous arrivent à zéro dans cet ordre. Donnez les intervalles et les attentes avec le premier arrivé, premier servi.

Indice 1

La durée d’un intervalle est sa borne finale moins sa borne initiale.

Indice 2

Le premier processus n’attend pas ; les suivants attendent la fin de leurs prédécesseurs.

Comprendre la correction

A s’exécute de 0 à 4, B de 4 à 5 et C de 5 à 8. Les attentes sont donc 0, 4 et 5, soit une moyenne de 3 unités. La terminaison de C à 8 inclut cinq unités d’attente et trois unités de travail.

Exercice 2 · Appliquer#

Construire le tourniquet

Reprenez A=4, B=1, C=3 avec un quantum de 2. Indiquez l’ordre des tranches et la terminaison de B.

Indice 1

Un processus terminé sort de la file.

Indice 2

Une tranche peut être plus courte que le quantum.

Comprendre la correction

Les tranches sont A de 0 à 2, B de 2 à 3, C de 3 à 5, A de 5 à 7 et C de 7 à 8. B termine à 3. Il n’occupe qu’une unité, car un quantum est une durée maximale, pas une durée minimale à consommer.

Exercice 3 · Déboguer un raisonnement#

Corriger une confusion

Un élève affirme : « Un processus qui attend le disque doit recevoir un plus grand quantum pour terminer plus vite. » Expliquez le défaut du raisonnement.

Indice 1

Quelle ressource manque réellement ?

Indice 2

Le processus appartient-il à la file des prêts pendant cette attente ?

Comprendre la correction

Le processus est bloqué sur une entrée-sortie. Du temps de processeur ne remplace pas la réponse du disque. Il redeviendra prêt après l’événement attendu, puis pourra être choisi. Il faut distinguer ce blocage de l’attente dans la file des processus prêts.

Exercice 4 · Justifier#

Réintroduire le coût du système

Huit unités de calcul sont réparties sur cinq tranches. Chacun des quatre passages entre tranches coûte 0,1 unité. Quelle durée totale obtient-on, sans coût initial ni final ?

Indice 1

Les changements entre cinq tranches sont au nombre de quatre.

Indice 2

Séparez calcul utile et coût des transitions.

Comprendre la correction

Le coût ajouté est 4 × 0,1 = 0,4. La durée totale devient 8,4 unités. Le partage n’a pas augmenté la quantité de calcul utile ; il a ajouté du travail de gestion. Ce modèle montre pourquoi réduire le quantum indéfiniment ne constitue pas une solution universelle.

Exercice 5 · Problème de synthèse#

Problème : comparer deux services

A=6, B=2 et C=2 arrivent à zéro dans cet ordre. Construisez FIFO puis le tourniquet de quantum 2. Calculez les attentes individuelles et leur moyenne. Donnez un critère qui favorise chaque politique. Saisissez l’attente moyenne du tourniquet.

Indice 1

Pour le tourniquet, A revient après B et C.

Indice 2

Soustrayez les durées aux dates de terminaison.

Comprendre la correction

FIFO donne [0;6[ pour A, [6;8[ pour B, [8;10[ pour C : attentes 0, 6, 8. Le tourniquet donne A [0;2[, B [2;4[, C [4;6[, A [6;8[, A [8;10[ : attentes 4, 2, 4, soit 10/3. FIFO favorise ici la fin de A et limite les passages entre processus ; le tourniquet fait répondre B et C plus tôt. La charge totale reste dix unités.

Exercice 6 · Problème de synthèse#

Problème : intégrer une attente du disque

A et B arrivent à zéro. A calcule de 0 à 2, attend le disque de 2 à 5 puis doit calculer encore une unité. B demande quatre unités, sans interruption. Le choix est non préemptif ; A est choisi en premier. Tracez le processeur et les états de A. Calculez son séjour et son attente dans les prêts.

Indice 1

Pendant le blocage de A, B peut utiliser le cœur.

Indice 2

À 5, A est prêt mais B ne sera pas interrompu.

Comprendre la correction

A calcule [0;2[, B [2;6[, puis A [6;7[. A est bloqué pendant trois unités, puis prêt sans processeur pendant une unité. Son séjour est sept unités : trois de calcul, trois de blocage et une d’attente. Soustraire seulement sa durée de calcul donnerait quatre, ce qui mélange blocage et attente des prêts.

Exercice 7 · Problème de synthèse#

Problème : choisir pour un usage

Un service traite une longue conversion de vingt unités et, au même instant, deux requêtes d’une unité chacune. La conversion est première dans la file. Comparez FIFO et un tourniquet de quantum 1 pour les deux requêtes. Expliquez pourquoi on ne peut pas conclure sur la durée réelle sans coût de commutation.

Indice 1

Les requêtes passent après une seule unité de conversion avec le tourniquet.

Indice 2

Séparez date de réponse, durée utile et gestion du système.

Comprendre la correction

FIFO termine les requêtes à 21 et 22 ; le tourniquet les termine à 2 et 3. Les clients obtiennent donc rapidement leur résultat avec le tourniquet, tandis que la conversion termine plus tard qu’en FIFO. Les vingt-deux unités utiles sont conservées dans les deux cas. Pour estimer un temps réel, il manque le coût des commutations et d’éventuelles entrées-sorties ; la seule frise idéale ne permet pas de le mesurer.

Les erreurs qui méritent un détour

Confondre bloqué et prêt.
Un processus prêt attend le processeur ; un processus bloqué attend un autre événement.
Attribuer systématiquement tout le quantum.
Un processus qui termine avant la fin de sa tranche libère le cœur immédiatement.

La fiche à garder

L’essentiel à retenir

  • Un ordonnancement dépend des arrivées, durées et hypothèses de ressources.
  • La préemption permet d’interrompre puis reprendre un processus.
  • Réactivité, attente moyenne et coût des changements sont des critères différents.

Cette notion au bac

Retrouvez ces idées dans un sujet complet, avec des indices, une correction expliquée et des ateliers.

Le prochain pas

Retrouver le catalogue de Terminale

Ce chapitre s’appuie sur le programme officiel de Terminale (PDF, nouvel onglet). Les explications et exercices sont proposés pour l’apprentissage.