Un context switch est une procédure que l’unité centrale de traitement (CPU) d’un ordinateur suit pour passer d’une tâche (ou processus) à une autre tout en s’assurant que les tâches ne sont pas en conflit. Un changement de contexte efficace est essentiel si un ordinateur doit offrir un multitâche convivial.
Dans une unité centrale de traitement, le terme « contexte » désigne les données contenues dans les registres et le compteur de programme à un moment précis. Un registre contient l’instruction actuelle du processeur. Un compteur de programme, également appelé registre d’adresse d’instruction, est une petite quantité de mémoire rapide qui contient l’adresse de l’instruction à exécuter immédiatement après l’instruction en cours.
Un changement de contexte peut être effectué entièrement dans le matériel (support physique). Les anciens processeurs, tels que ceux de la série x86, le font de cette façon. Cependant, la plupart des CPU modernes effectuent les commutations de contexte au moyen de logiciels (programmation). Une unité centrale moderne peut effectuer des centaines de changements de contexte par seconde. Par conséquent, l’utilisateur a l’impression que l’ordinateur effectue plusieurs tâches en parallèle, alors qu’en réalité, l’unité centrale alterne ou tourne entre ou parmi les tâches à une vitesse élevée.