Zusammenhang-Schalter

Ein Zusammenhang-Schalter ist der Rechenprozess der Speicherung und Wiederherstellung des Staates (Zusammenhang) einer Zentraleinheit, so dass Ausführung von demselben Punkt in einer späteren Zeit fortgesetzt werden kann. Das ermöglicht vielfachen Prozessen, eine einzelne Zentraleinheit zu teilen. Der Zusammenhang-Schalter ist eine wesentliche Eigenschaft eines stark mehrbeanspruchenden Betriebssystems. Zusammenhang-Schalter sind gewöhnlich rechenbetont intensiv, und viel vom Design von Betriebssystemen soll den Gebrauch optimieren

Zusammenhang-Schalter. Ein Zusammenhang-Schalter kann einen Register-Zusammenhang-Schalter, einen Aufgabe-Zusammenhang-Schalter, einen Faden-Zusammenhang-Schalter oder einen Prozess-Zusammenhang-Schalter bedeuten. Was den Zusammenhang einsetzt, wird durch den Verarbeiter und das Betriebssystem bestimmt. Die Schaltung von einem Prozess bis einen anderen verlangt eine bestimmte Zeitdauer, für die Regierung - das Sparen und Laden von Registern und Speicherkarten zu tun, verschiedene Tische und Liste usw. aktualisierend.

Wenn man umschaltet?

Es gibt drei Situationen, wo ein Zusammenhang-Schalter vorkommen muss. Sie sind:

Das Mehrbeschäftigen

Meistens, innerhalb von einem Terminplanungsschema, muss ein Prozess aus der Zentraleinheit geschaltet werden, so kann ein anderer Prozess laufen.

Dieser Zusammenhang-Schalter kann durch den Prozess ausgelöst werden, der sich unrunnable, solcher als durch das Warten auf eine Eingabe/Ausgabe oder Synchronisationsoperation macht, um zu vollenden. Auf einem System der präemptiven Multitasking kann der Planer auch Prozesse schalten, die noch runnable sind. Um andere Prozesse davon abzuhalten, der Zentraleinheitszeit verhungert zu sein, konfigurieren Vorkaufsplaner häufig eine Zeitmesser-Unterbrechung, um zu schießen, wenn ein Prozess seinen Zeitabschnitt überschreitet. Diese Unterbrechung stellt sicher, dass der Planer Kontrolle gewinnen wird, um einen Zusammenhang-Schalter durchzuführen.

Unterbrechungsbehandlung

Moderne Architekturen sind gesteuerte Unterbrechung. Das bedeutet, dass, wenn die Zentraleinheit um Daten von einer Platte zum Beispiel bittet, sie zum beschäftigten nicht braucht - warten, bis das gelesene zu Ende ist; es kann die Bitte ausgeben und mit einer anderen Ausführung weitergehen. Wenn das gelesene zu Ende ist, kann die Zentraleinheit unterbrochen und das gelesene geboten werden. Für Unterbrechungen hat ein Programm gerufen ein Unterbrechungsdressierer wird installiert, und es ist der Unterbrechungsdressierer, der die Unterbrechung von der Platte behandelt.

Wenn eine Unterbrechung vorkommt, schaltet die Hardware automatisch einen Teil des Zusammenhangs (mindestens genug, um dem Dressierer zu erlauben, zum unterbrochenen Code zurückzukehren). Der Dressierer kann zusätzlichen Zusammenhang, abhängig von Details der besonderen Hardware und Softwaredesigns sparen. Häufig wird nur ein minimale Teil des Zusammenhangs geändert, um das ausgegebene Berühren der Zeitdauer der Unterbrechung zu minimieren.

Der Kern erzeugt nicht oder plant einen speziellen Prozess, um Unterbrechungen zu behandeln, aber stattdessen führt der Dressierer in (häufig teilweise) am Anfang der Unterbrechungsbehandlung gegründeter Zusammenhang durch. Sobald Unterbrechungswartung, der Zusammenhang tatsächlich abgeschlossen ist, bevor die Unterbrechung vorgekommen ist, wird wieder hergestellt, so dass der unterbrochene Prozess Ausführung in seinem richtigen Staat fortsetzen kann.

Benutzer und Kernweise-Schaltung

Wenn ein Übergang zwischen Benutzerweise und Kernweise in einem Betriebssystem erforderlich ist, ist ein Zusammenhang-Schalter nicht notwendig; ein Weise-Übergang ist nicht allein ein Zusammenhang-Schalter. Jedoch, abhängig vom Betriebssystem, kann ein Zusammenhang-Schalter auch in dieser Zeit stattfinden.

Zusammenhang-Schalter: Schritte

In einem Schalter muss der Staat des ersten Prozesses irgendwie gespart werden, so dass, wenn der Planer zur Ausführung des ersten Prozesses zurückkommt, es diesen Staat wieder herstellen und weitergehen kann.

Der Staat des Prozesses schließt alle Register ein, die der Prozess, besonders der Programm-Schalter, plus jedes andere Betriebssystem spezifische Daten verwenden kann, die notwendig sein können. Das Daten werden gewöhnlich in einer Datenstruktur versorgt, hat einen Prozesssteuerungsblock (PCB) oder switchframe genannt.

Um Prozesse zu schalten, muss der PCB für den ersten Prozess geschaffen und gespart werden. Die PCBs werden manchmal auf einen Stapel pro Prozess im Kerngedächtnis (im Vergleich mit dem Benutzerweise-Anruf-Stapel) versorgt, oder es kann definierte Datenstruktur eines spezifischen Betriebssystems für diese Information geben.

Seitdem das Betriebssystem die Ausführung des ersten Prozesses effektiv aufgehoben hat, kann es jetzt den PCB und Zusammenhang des zweiten Prozesses laden. Dabei wird der Programm-Schalter vom PCB geladen, und so kann Ausführung im neuen Prozess weitergehen. Neue Prozesse werden aus einer Warteschlange oder Warteschlangen gewählt. Prozess und Faden-Vorrang können beeinflussen, den Prozess Ausführung, mit Prozessen vom höchsten Vorrang überprüft zuerst für bereite Fäden fortsetzt, um durchzuführen.

Software gegen die Hardware-Zusammenhang-Schaltung

Zusammenhang-Schaltung kann in erster Linie durch die Software oder Hardware durchgeführt werden. Einige Verarbeiter, wie Intel 80386 und seine Nachfolger, haben Hardware-Unterstützung für Zusammenhang-Schalter, indem es von einem speziellen Datensegment Gebrauch gemacht worden ist, hat das Aufgabe-Staatssegment oder TSS benannt. Ein Aufgabe-Schalter kann mit einem ANRUF oder JMP Instruktion ausführlich ausgelöst werden, die an einem TSS Deskriptor im globalen Deskriptor-Tisch ins Visier genommen ist. Es kann implizit vorkommen, wenn eine Unterbrechung oder Ausnahme ausgelöst werden, wenn es ein Aufgabe-Tor im Unterbrechungsdeskriptor-Tisch gibt. Wenn ein Aufgabe-Schalter vorkommt, kann die Zentraleinheit den neuen Staat vom TSS automatisch laden. Als mit anderen in der Hardware durchgeführten Aufgaben würde man annehmen, dass das ziemlich schnell ist; jedoch verwendet Hauptströmung Betriebssysteme, einschließlich Windows und Linux, diese Eigenschaft nicht.

Das ist hauptsächlich zu zwei Gründen erwartet:

  1. Hardware-Zusammenhang-Schaltung spart alle Register nicht (nur allgemeine Zweck-Register, Punkt-Register nicht schwimmen lassend —, obwohl der TS gebissen hat, wird im CR0-Kontrollregister automatisch angemacht, auf eine Schuld hinauslaufend, wenn man durchführt, Punkt-Instruktionen schwimmen lassend und den OS die Gelegenheit gebend, den Schwimmpunkt-Staat, wie erforderlich, zu sparen und wieder herzustellen).
  2. verbundene Leistungsprobleme, z.B, kann Softwarezusammenhang-Schaltung auswählend sein und nur jene Register versorgen, die Speicherung brauchen, wohingegen Hardware-Zusammenhang-Schaltung fast alle Register versorgt, ob sie erforderlich sind oder nicht.

Außenverbindungen


A.C. ChievoVerona / Carnatic
Impressum & Datenschutz