2014-12-11 10 views
6

Ich bin derzeit auf einem Bachelor-Level-Kurs in Betriebssysteme. Ich bin etwas verwirrt über die Funktionen von Dispatcher und Scheduler in der Prozessplanung. Basierend auf dem, was ich gelernt habe, wählt der mittelfristige Scheduler den Prozess zum Auslagern und Einlesen aus, und sobald die Prozesse ausgewählt sind, wird die tatsächliche Auslagerungsoperation vom Dispatcher durch Kontextwechsel durchgeführt. Außerdem ist der Kurzzeit-Scheduler verantwortlich für die Planung der Prozesse und die Zuweisung der CPU-Zeit auf der Grundlage des verfolgten Scheduling-Algorithmus. Bitte korrigieren Sie mich, wenn ich falsch liege. Ich bin wirklich verwirrt über die Funktionen von Medium Term Scheduler vs Dispatcher und Unterschiede zwischen Swapping & Kontextwechsel.Was ist der Unterschied zwischen Scheduler und Dispatcher im Kontext der Prozessplanung?

Antwort

6

Sie beschreiben Dinge in systemspezifischen Begriffen.

Der Scheduler und der Dispatcher könnten alle die gleiche Sache sein. Häufig sind sie jedoch unterteilt, so dass der Scheduler eine Warteschlange von Prozessen führt und der Dispatcher den tatsächlichen Kontextwechsel handhabt.

Wenn Sie den Scheduler in Langzeit, Mittelfristig und Kurzfristig unterteilen, ist diese Division (falls überhaupt vorhanden) spezifisch für das Betriebssystem.

Auslagern eines Prozesses aus dem Speicher. Ein Prozess kann über einen Kontextwechsel nicht ausführbar gemacht werden, aber er kann nicht ausgelagert werden. Der Austausch ist im Allgemeinen unabhängig von der Planung. Ein Prozess muss jedoch zur Ausführung ausgetauscht werden, und die Speicherverwaltung versucht, das Auslagern ausführender Prozesse zu vermeiden.

+0

"Ein Prozess kann über einen Kontextwechsel nicht ausführbar gemacht werden, aber er kann nicht ausgelagert werden." Kannst du das bitte erklären? – Backspace

+0

Wenn ein Prozess nicht ausführbar gemacht wird, kann er NICHT ausgelagert werden. Es könnte im physischen Gedächtnis bleiben. Die Speicherverwaltung kann sie später jedoch auslagern. – user3344003

0

Ein Scheduler bewertet die Anforderung der zu wartenden Anforderung und erlegt damit eine Bestellung auf.

+1

vielleicht können Sie dazu mehr Informationen geben. Fügen Sie ein Beispiel und vielleicht einen Link zu einer Erklärung hinzu. –

0

Grundsätzlich ist alles, was Sie über Scheduler und Dispatcher wissen, korrekt. Manchmal werden sie als eine Einheit oder Scheduler (in diesem Fall kurze Zeit) Dispatcher als eine Einheit bezeichnet und sind zusammen verantwortlich für die Zuweisung eines Prozesses zu CPU für die Ausführung.Manchmal werden sie als zwei separate Einheiten bezeichnet, der Scheduler wählt einen Prozess gemäß irgendeinem Algorithmus und der Dispatcher ist eine Software, die für die tatsächliche Kontextumschaltung verantwortlich ist.