[LINUX] Qu'est-ce qu'un changement de contexte?

what-is-context-switching-in-operating-system-context-switching-flow.png

Qu'est-ce qu'un changement de contexte?

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)

Qu'est-ce que le contexte?

--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.

Informations de stockage PCB (Process Control Block)

--Compteur de programme

À propos, au moment du changement de contexte, le processeur correspondant ne peut rien faire. Par conséquent, si la commutation de contexte est effectuée fréquemment, une surcharge se produira et l'efficacité (performances) diminuera.

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

Qu'est-ce qu'un changement de contexte?
Qu'est-ce qu'une distribution?
Qu'est-ce qu'un terminal?
Qu'est-ce qu'un hacker?
Qu'est-ce qu'un pointeur?
Qu'est-ce qu'un arbre de décision?
Qu'est-ce qu'un super utilisateur?
Qu'est-ce qu'un appel système
[Définition] Qu'est-ce qu'un cadre?
Qu'est-ce qu'une fonction de rappel?
[Python] Qu'est-ce qu'une fonction zip?
[Python] Qu'est-ce qu'une instruction with?
Qu'est-ce qu'une portée lexicale / une portée dynamique?
Qu'est-ce que l'espace de noms
Qu'est-ce que copy.copy ()
Qu'est-ce que Django? .. ..
Qu'est-ce que POSIX
Qu'est-ce que Linux
Qu'est-ce que le klass?
Qu'est-ce que SALOME?
Qu'est-ce qu'un chien? Volume d'installation de Django
Qu'est-ce qu'un chien? Volume d'installation Python
Qu'est-ce que Linux?
Qu'est-ce que python
Qu'est-ce que l'hyperopt?
Qu'est-ce que Linux
Qu'est-ce que pyvenv
Qu'est-ce que __call__
Qu'est-ce que Linux
Qu'est-ce que Python
Qu'est-ce qu'un chien? Django - Créer un modèle utilisateur personnalisé
Qu'est-ce qu'un chien? Défiez le modèle Django! Le volume
C'est un Mac. Qu'est-ce que la commande Linux Linux?
Qu'est-ce qu'un chien? Django - Créer un modèle utilisateur personnalisé 2
Dites-moi ce qu'est une cartographie équiangulaire, Python!
Qu'est-ce que le F-Score de Piotroski?
Qu'est-ce que Raspberry Pi?
[Python] Qu'est-ce que Pipeline ...
Qu'est-ce que Calmar Ratio?
[Tutoriel PyTorch ①] Qu'est-ce que PyTorch?
Qu'est-ce que le réglage des hyper paramètres?
Qu'est-ce que JSON? .. [Remarque]
À quoi sert Linux?
Qu'est-ce que l'apprentissage d'ensemble?
Qu'est-ce que TCP / IP?
Qu'est-ce que __init__.py de Python?
Qu'est-ce qu'un itérateur?
Qu'est-ce que UNIT-V Linux?
[Python] Qu'est-ce que virtualenv
Qu'est-ce que l'apprentissage automatique?
Qu'est-ce qu'un chien? Volume de démarrage de la création de l'application Django --startapp
Qu'est-ce qu'un chien? Volume de démarrage de la création de l'application Django - startproject
Qu'est-ce qu'un moteur de recommandation? Résumé des types
Qu'est-ce que Dieu? Créez un chatbot simple avec python
Pour moi en tant que débutant Django (2) - Qu'est-ce que MTV?
Qu'est-ce que Mini Sam ou Mini Max?
Quelle est la fonction d'activation?