Un changement de contexte est le processus de sauvegarde et de restauration de l'état d'une CPU (contexte (ingénierie de l'information)) afin que plusieurs processus puissent partager une CPU. Les commutateurs de contexte sont une caractéristique essentielle des systèmes d'exploitation multitâches. Étant donné que les changements de contexte nécessitent généralement beaucoup de traitement informatique, il est important d'optimiser le changement de contexte dans la conception du système d'exploitation.
[* Wikipédia](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3% 83% 88% E3% 82% B9% E3% 82% A4% E3% 83% 83% E3% 83% 81)
--Il existe également un contexte pour Andoroid et Servlet, mais ** Le contexte sur le système d'exploitation est des informations de processus ** pour que le CPU exécute le processus correspondant.
―― Ce contexte est enregistré dans le PCB (Process Control Block) du processus, et les informations du PCB peuvent être lues au moment de la commutation de contexte (chargement) et la CPU peut continuer le travail que le processus précédent faisait.
--Compteur de programme
L'adresse que le processus exécutera ensuite
S'inscrire --Accumulateur (accumulateur) --Empiler
Registre d'index
Numéro de processus
Context Switching - Interrupt L'interruption se produit lorsque la CPU exécute un programme, une exception se produit de l'extérieur du programme en cours d'exécution et un traitement est nécessaire. Cela signifie dire au CPU afin qu'il puisse gérer la situation d'exception.
Alors, quel type de demande d'interruption provoquera un changement de contexte? -Demande d'E / S (demande d'entrée / sortie) -La tranche de temps a expiré (lorsque le temps d'utilisation du processeur expire) -Fork a child (lors de la création d'un processus enfant) -Attendre une interruption (en attendant le traitement d'interruption)
Il existe d'autres méthodes, mais je vais omettre les détails.
Recommended Posts