[LINUX] Was ist ein Kontextwechsel?

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

Was ist ein Kontextwechsel?

Bei einem Kontextwechsel wird der Status einer CPU gespeichert und wiederhergestellt (Kontext (Information Engineering)), sodass mehrere Prozesse eine CPU gemeinsam nutzen können. Kontextwechsel sind ein wesentliches Merkmal von Multitasking-Betriebssystemen. Da Kontextwechsel normalerweise viel Computerverarbeitung erfordern, ist es wichtig, den Kontextwechsel im Design des Betriebssystems zu optimieren.

[* Wikipedia](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)

Was ist Kontext?

――Dieser Kontext wird auf der Leiterplatte (Process Control Block) des Prozesses gespeichert, und die Informationen auf der Leiterplatte können zum Zeitpunkt des Kontextwechsels (Laden) gelesen werden, und die CPU kann die Arbeit fortsetzen, die der vorherige Prozess ausgeführt hat.

PCB-Speicherinformationen (Process Control Block)

--Prozessstatus --Generation --Vorbereitung --Ausführen --Warten --Abgesagt

--Programm zähler

Übrigens kann die entsprechende CPU zum Zeitpunkt der Kontextumschaltung nichts tun. Wenn daher häufig eine Kontextumschaltung durchgeführt wird, tritt ein Overhead auf und die Effizienz (Leistung) sinkt.

Context Switching - Interrupt Eine Unterbrechung tritt auf, wenn die CPU ein Programm ausführt, eine Ausnahme von außerhalb des laufenden Programms auftritt und eine Verarbeitung erforderlich ist. Dies bedeutet, der CPU mitzuteilen, dass sie die Ausnahmesituation bewältigen kann.

Welche Art von Interrupt-Anforderung führt also zu einer Kontextumschaltung? -E / A-Anforderung (Eingabe- / Ausgabeanforderung) -Zeitscheibe abgelaufen (wenn die CPU-Auslastungszeit abgelaufen ist) -Fork ein Kind (beim Erstellen eines untergeordneten Prozesses)

Es gibt andere Methoden, aber ich werde die Details weglassen.

Recommended Posts

Was ist ein Kontextwechsel?
Was ist eine Distribution?
Was ist ein Terminal?
Was ist ein Hacker?
Was ist ein Zeiger?
Was ist ein Entscheidungsbaum?
Was ist ein Superuser?
Was ist ein Systemaufruf?
[Definition] Was ist ein Framework?
Was ist eine Rückruffunktion?
[Python] Was ist eine Zip-Funktion?
[Python] Was ist eine with-Anweisung?
Was ist ein lexikalischer / dynamischer Bereich?
Was ist ein Namespace?
Was ist copy.copy ()
Was ist Django? .. ..
Was ist POSIX?
Was ist Linux?
Was ist klass?
Was ist SALOME?
Was ist ein Hund? Django-Installationsvolumen
Was ist ein Hund? Python-Installationsvolumen
Was ist Linux?
Was ist Python?
Was ist Hyperopt?
Was ist Linux?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist Python?
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell
Was ist ein Hund? Fordern Sie die Django-Vorlage heraus! Volumen
Es ist ein Mac. Was ist der Linux-Befehl Linux?
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell 2
Sag mir, was eine gleichwinklige Abbildung ist, Python!
Was ist Piotroskis F-Score?
Was ist Raspberry Pi?
[Python] Was ist Pipeline ...
Was ist das Calmar-Verhältnis?
[PyTorch Tutorial ①] Was ist PyTorch?
Was ist Hyperparameter-Tuning?
Was ist JSON? .. [Hinweis]
Wofür ist Linux?
Was ist Ensemble-Lernen?
Was ist TCP / IP?
Was ist Pythons __init__.py?
Was ist ein Iterator?
Was ist UNIT-V Linux?
[Python] Was ist virtualenv?
Was ist maschinelles Lernen?
Was ist ein Hund? Startvolumen der Django-App erstellen --startapp
Was ist ein Hund? Django App Creation Start Volume - Startprojekt
Was ist ein empfohlener Motor? Zusammenfassung der Typen
Was ist Gott? Erstelle einen einfachen Chatbot mit Python
Für mich als Django-Anfänger (2) - Was ist MTV?
Was ist Mini Sam oder Mini Max?
Was ist die Aktivierungsfunktion?