Commutation de contexte
# 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 $P_1$ vers le processus $P_2$ :

* Sauvegarder le contexte du processus $P_1$ quelque part en mémoire (usuellement sur la pile de $P_1).$
* Retrouver le contexte de $P_2$ en mémoire (usuellement sur la pile de $P_2).$
* Restaurer le contexte de $P_2$ dans le processeur.
* Reprendre l'exécution de $P_2$ à 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).

