Commutation de contexte

Sur les autres projets Wikimedia :

Une commutation de contexte (context switch) en informatique consiste à sauvegarder l'état d'un processus ou d'un thread pour restaurer à la place celui d'un autre dans le cadre de l'ordonnancement d'un système d'exploitation multitâche.

Elle peut être plus ou moins coûteuse en temps processeur suivant l'architecture matérielle, le système d'exploitation, ou le type de processus utilisé. En effet, dans le cas des processus lourds elle nécessite toujours un changement d’espace d’adressage, alors que les processus légers de même père partagent ce dernier, qui n'a alors pas besoin d'être rechargé.

Le contexte sauvegardé doit au minimum inclure une portion notable de l'état du processeur (registres généraux, registres d'états, etc.) ainsi que, pour certains systèmes, les données nécessaires au système d'exploitation pour gérer ce processus.

La commutation de contexte invoque au moins trois étapes. Par exemple, en présumant que l'on veut commuter l'utilisation du processeur par le processus P1 vers le processus P2 :

  1. Sauvegarder le contexte du processus P1 quelque part en mémoire (usuellement sur la pile de P1).
  2. Retrouver le contexte de P2 en mémoire (usuellement sur la pile de P2).
  3. Restaurer le contexte de P2 dans le processeur.
  4. Reprendre l'exécution de P2 à son point de dernière exécution.

Certains processeurs peuvent sauvegarder et restaurer le contexte du processus en interne, évitant ainsi d'avoir à sauvegarder ce contexte en mémoire vive.

Dans un système d'exploitation multitâches, le processeur peut alterner l'exécution des processus chargés en mémoire centrale. Il doit réaliser ce qu'on appelle un changement de contexte (ou commutation du processeur).

Articles connexes

modifier