Qu'est-ce que la commutation de contexte?
L'un des plus importants progrès réalisés dans la conception et le fonctionnement des unités centrales (CPU) est survenu lorsque les concepteurs de systèmes d'exploitation informatiques ont développé des techniques permettant aux utilisateurs d'effectuer plusieurs tâches à la fois. Le multitâche en référence aux ordinateurs consiste à exécuter deux programmes ou plus en même temps. Du point de vue de l'utilisateur final, cela peut ne pas sembler compliqué ou tiré par les cheveux, mais cela représente en réalité un saut considérable dans la conception du système. En multitâche, la CPU doit jongler avec toutes les opérations des différents programmes actifs, en enregistrant où elle se trouve avec chaque programme lorsque l'utilisateur bascule entre elles. La commutation de contexte est le processus qui permet au processeur de mémoriser et de restaurer les états de divers programmes actifs, lui permettant ainsi de mener à bien cet acte de jonglage.
Lors de la commutation de contexte, la CPU abandonne le programme qu’elle gère actuellement et stocke l’emplacement spécifique qu’elle occupait dans ce programme afin qu’elle puisse reprendre sa progression ultérieurement. Pour mettre cela en perspective, la commutation de contexte est un peu comme si vous lisiez plusieurs livres en même temps, alternant constamment entre eux tout en gardant toujours en mémoire les numéros de page. Les informations de "numéro de page" pour les programmes pendant une opération de commutation de contexte sont conservées par le bloc de contrôle de processus (PCB). Le PCB est aussi parfois appelé le "switchframe". Ces informations sont stockées en mémoire dans la CPU réelle jusqu'à ce que vous en ayez à nouveau besoin.
La commutation de contexte se produit dans trois situations possibles: gestion des interruptions, multitâche et commutation d'utilisateur. Dans la gestion des interruptions, un autre programme "interrompt" le programme en cours pendant son exécution. Une fois que l’UC reçoit l’interruption, elle effectue un changement de contexte pour jongler entre le programme en cours d’exécution et le programme demandant des données immédiates. En mode multitâche, la CPU bascule entre les programmes, attribuant à chacun une tranche de temps de traitement et effectuant une opération de commutation de contexte pour passer de l'un à l'autre. Pour certains systèmes d'exploitation, un changement de contexte est également effectué lors d'un changement d'utilisateur pour le système d'exploitation, bien que cela ne soit pas expressément requis.
Le système d'exploitation ou le matériel de l'ordinateur peut contrôler le changement de contexte. Certains systèmes d'exploitation modernes sont conçus pour contrôler la commutation de contexte via le système d'exploitation lui-même, en ignorant tout support matériel intégré pour la procédure. Cela permet au système d'exploitation de sauvegarder plus d'informations lors d'un changement de contexte, ce qui lui permet de conserver plus d'informations sur le commutateur.