Qu'est-ce que Changement de contexte ?

Bascule du processus ou du thread exécuté par le CPU. L'état (registres, compteur ordinal, etc.) est sauvegardé et restauré ; lors d'un changement de processus, l'espace d'adressage est aussi changé.

Nom japonais: コンテキストスイッチ

« Changement de contexte » apparaît dans 4 questions d'entraînement réparties sur 2 thèmes, dont Système d'exploitation et matériel, Multicœur et synchronisation.

Domaine: Système d'exploitation et matériel

S'entraîner : questions sur Changement de contexte

Lors d’un changement de contexte, que faut-il sauvegarder pour le processus quitté ?

  1. ALe contenu des fichiers disque utilisés par ce processus
  2. BL’état d’exécution du CPU, comme les valeurs des registres et le compteur ordinal
  3. CL’intégralité du contenu de la mémoire physique du processus
Afficher la réponse et l'explication

Réponse : B. L’état d’exécution du CPU, comme les valeurs des registres et le compteur ordinal

Lors d’un changement de contexte, on sauvegarde l’état du CPU (registres généraux, compteur ordinal, pointeur de pile, mode de fonctionnement, etc.) pour pouvoir reprendre plus tard dans le même état, et l’on charge l’état du processus suivant. En cas de changement de processus, on change aussi le registre qui indique l’emplacement de la table des pages. Le contenu de la mémoire et des fichiers restant en place, il n’est pas nécessaire de le sauvegarder à chaque changement.

Pour quelle raison principale un changement de contexte entre processus peut-il dégrader les performances bien plus que le seul temps de sauvegarde et de restauration des registres ?

  1. AParce que la fréquence d’horloge du CPU baisse à chaque changement
  2. BParce que le programme est relu depuis le disque à chaque changement
  3. CParce qu’après le changement, les défauts de cache et de TLB augmentent
Afficher la réponse et l'explication

Réponse : C. Parce qu’après le changement, les défauts de cache et de TLB augmentent

La sauvegarde et la restauration des registres sont brèves, mais pour le processus qui reprend la main, le contenu du cache et du TLB appartient au processus précédent, et les défauts se succèdent jusqu’à ce que les données et traductions nécessaires soient rechargées. Sur un CPU sans ASID, il faut en outre vider le TLB lors du changement d’espace d’adressage. Ce coût indirect peut dépasser le temps de changement direct. L’horloge ne baisse pas et le programme n’est pas relu depuis le disque.

« Changement de contexte » dans les explications

Questions mentionnant « Changement de contexte » (4)

  1. Lors d’un changement de contexte, que faut-il sauvegarder pour le processus quitté ?
  2. Pour quelle raison principale un changement de contexte entre processus peut-il dégrader les performances bien plus que le seul temps de sauvegarde et de restauration des registres ?
  3. Comment s’appelle le mécanisme par lequel une application demande à l’OS d’effectuer par exemple une lecture ou une écriture de fichier ?
  4. Quelle comparaison entre mutex (verrou à attente en sommeil) et spinlock est correcte ?

Comparatifs incluant ce terme

Termes associés

Pointeur de pile Table des pages TLB (tampon de traduction d'adresses) ASID (identifiant d'espace d'adressage) Appel système Bascule (flip-flop) Mode privilégié Pagination à la demande Mutex Verrou tournant (spinlock)

Retour au glossaire