Commutation de contexte

Définition, exemples et bonnes pratiques

À retenir

  • C'est la clé de voûte du multitâche moderne.
  • Cela consiste à sauvegarder l'état d'une tâche pour en charger une autre.
  • L'opération est invisible pour l'utilisateur mais coûteuse en ressources pour le processeur.

La commutation de contexte est la technique qui permet à un ordinateur de passer d'une tâche à une autre si rapidement qu'on a l'impression qu'elles s'exécutent en même temps. C'est comme un chef de cuisine qui noterait précisément où il en est dans sa recette de sauce avant de s'occuper du rôti, pour pouvoir reprendre la sauce exactement là où il s'était arrêté.

Étymologie

Vient de l'anglais context switching. Le terme « commutation » évoque un basculement (comme un interrupteur) et le « contexte » désigne l'ensemble des informations (données, compteurs, registres) dont le processeur a besoin pour exécuter un programme à un instant précis.

Exemples d'usage

  • Votre ordinateur qui continue de jouer de la musique pendant que vous tapez un texte sur Word.
  • Le passage d'un onglet de navigateur gourmand en ressources à votre application de messagerie.
  • Le système qui interrompt une mise à jour en arrière-plan pour donner la priorité à un mouvement de votre souris.

Cas d'usage

Ce concept est au cœur des systèmes d'exploitation multitâches. Il intervient dès que plusieurs logiciels ou processus se partagent les cœurs d'un processeur (CPU). Il est aussi crucial dans la gestion des serveurs web qui doivent traiter des milliers de connexions simultanées.

Bonnes pratiques

Pour les développeurs, il faut éviter de créer un nombre excessif de processus ou de fils d'exécution (threads). Chaque commutation consomme un peu de temps processeur (on appelle cela la charge utile ou overhead). Si l'ordinateur passe trop de temps à basculer d'une tâche à l'autre au lieu de les exécuter, les performances s'effondrent.

Synonymes

changement de contexte basculement de contexte

Antonymes

exécution séquentielle traitement par lots

Conseil

Pour bien comprendre, visualisez le processeur comme un employé de bureau unique qui doit gérer 10 dossiers : il ne peut en lire qu'un à la fois, mais il change de dossier toutes les millisecondes pour faire avancer tout le monde de front.

Questions fréquentes

Est-ce que cela ralentit mon PC ?

En soi non, c'est indispensable. Mais si trop de programmes tournent en même temps, la multiplication des commutations finit par réduire la fluidité globale.

Qui décide quand changer de contexte ?

C'est l'ordonnanceur (scheduler), une partie du noyau du système d'exploitation, qui gère ces priorités.

Est-ce la même chose sur un processeur multi-cœur ?

Oui, mais avec plusieurs cœurs, le système peut exécuter plusieurs tâches réellement en parallèle, ce qui réduit le besoin de commuter sans cesse sur un seul cœur.