Nicht unbedingt. Normalerweise senkt der Scheduler die dynamische Priorität einer Task, nachdem das Quantum abgelaufen ist. Wenn es sich jedoch immer noch um die Task mit der höchsten Priorität handelt, erhält sie eine andere. In der Regel ja, wenn die Task lange genug gelaufen ist, übernimmt das Betriebssystem und wechselt zu einem anderen. Warum sollte das ineffizient sein?
Befindet sich ein Betriebssystem nach jedem Zeitabschnitt / Quantum?
Tritt das Betriebssystem im Rahmen der Prozessplanung nach jedem Ende von Slice / Quantum ein? Wenn zum Beispiel der Computer im Leerlauf war und 4 Aufgaben angekommen waren: t1, t2, t3 und t4, und sie wurden mit dem First-Come-First-Serv-Dienst geplant, würden wir normalerweise annehmen, dass t1, t2, t3, t4 in der CPU sind Ist das nicht eine Vereinfachung? Weil es t1, OS, t2, OS, t3 OS t4 ist, was tatsächlich passieren würde? Wenn es wahr ist, interveniert das Betriebssystem nach jedem Zeitabschnitt (aka Quantum), ist das nicht sehr ineffizient?
2 Antworten auf die Frage
Ich glaube, dass in modernen Betriebssystemen die Zeitscheiben eine variable Länge haben. Der Scheduler wird aufgerufen, nachdem alle Interrupts (Tastatur, Maus, Touchscreen, Netzwerk, Datentransfer abgeschlossen, ...) sowie die Timer-Interrupts gewartet wurden.
Grob gesagt, der Scheduler ist so konzipiert, dass er den gleitenden Durchschnitt der Zeiten zwischen Aufrufen eines Prozesses, der ein System blockiert, schätzt. Bevor der Scheduler dem Prozess X die Kontrolle gibt, stellt er einen Zeitgeber auf, der zu einem Zeitpunkt gerade etwas länger als der gleitende Durchschnitt des Prozesses X unterbrochen wird. Wenn der Scheduler die Zeit bis zum nächsten blockierenden Systemaufruf gut erraten hat, wird ein großer Teil der Prozesse die CPU tatsächlich freiwillig freigeben, indem er einen Systemaufruf blockiert.
Das Ziel ist, interaktive Prozesse zu veranlassen, ein wenig Rechenarbeit zu leisten, einen Aufruf des blockierenden Systems auszuführen, um Daten von einem langsamen Gerät anzufordern, und dann umgeplant werden, sobald die Daten zurückgegeben werden. Wenn der Scheduler sich für die Planung zwischen zwei Prozessen entscheiden muss, werden alle anderen Faktoren, die gleich sind, den Prozess begünstigen, der das Blockieren von Systemaufrufen häufiger durchführt. Dadurch wird die Anzahl der gleichzeitigen Sperren von E / A-Anforderungen maximiert, wodurch der Gesamtdurchsatz des Systems verbessert wird.
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
3
Suche nach einem kostenlosen Bootloader
-
4
Auf welcher Linux-Distribution basiert Google Chrome OS?
-
6
Verursacht das Öffnen vieler Registerkarten in Google Chrome ein Leistungsproblem?
-
4
Kann ein 32-Bit-Betriebssystem in einem 64-Bit-Prozessor ausgeführt werden?
-
7
Andere Vorteile eines 64-Bit-Betriebssystems neben der Speichererweiterung?
-
2
Was hat BeOS den heutigen Nutzern zu bieten?
-
5
Was ist der Unterschied zwischen 64-Bit- und 32-Bit-Betriebssystemen?
-
2
VPC-Image zum nativen Booten
-
7
Ist es eine gute Idee, ein Betriebssystem sofort nach der Veröffentlichung zu installieren?