Frage

In einem Round-Robin-Scheduler ist das Hinzufügen eines Vorgangs mehrmals in die Prozessliste eine günstige Möglichkeit, ihm eine höhere Priorität zu geben.

Ich frage mich, wie praktisch ein Ansatz sein könnte. Welchen Vorteil hat es gegenüber anderen Techniken, wie z. B. dem Verleihung des Prozesses eine längere Zeitscheibe (Nutzen: weniger Schaltzeit) oder die Aufrechterhaltung einer separaten Liste von Prozessen mit hoher Priorität. Wie beeinflusst die Auflistung eines Prozesses mehrmals Fairness und Reaktivität?

(Aus Übung 2.16 in Andrew Tanenbaum's Betriebssysteme: Design und Implementierung 1. Aufl.)

War es hilfreich?

Lösung

Der Vorteil dieses Ansatzes besteht darin, dass die Round -Robin -Planung sehr effizient ist, sodass Sie sich nicht auf einen komplexeren Planer verlassen müssen, der Zyklen stiehlt. Die Einführung längerer Zeitscheiben für Prozesse mit höherer Priorität würde die Reaktionsfähigkeit anderer Fäden verringern und es dem Betriebssystem erschweren, mit einem Interrupt usw. zu springen. Die Aufrechterhaltung separater Prozesselisten würde einen viel komplexeren Planer erfordern, der in Bezug auf die Zyklen teurer wäre. Ich sehe jedoch nicht, wie es ein Problem mit Fairness geben würde. Ich denke, das Problem ist, dass die Granularität ziemlich Kurs ist: Prozesse können nur ganzzahlige Vielfache der grundlegenden Zeitstrahlung haben.

Ein negativer Punkt ist, dass das Entfernen eines Prozesses teurer wäre, da jedes Auftreten des Prozesses aus der Warteschlange entfernt werden müsste. Vielleicht kann dies jedoch träge gemacht werden.

Andere Tipps

Das Hinzufügen der Aufgabe zu einer Round-Robin-Planungswarteschlange wird mehrmals eröffnet, um sicherzustellen, dass die Einträge einigermaßen eindeutig verteilt bleiben. Dies ist leicht sicherzustellen, ob das System keine dynamische Erstellung oder Löschung der Aufgaben zulässt, aber im Allgemeinen nicht möglich ist.

Zusätzlich zum komplexeren Prozess des Entfernens der Elemente aus der Warteschlange führt das letztendliche Abblenden der Prozesseinträge in der Warteschlange zu einem unausgeglichenen Verhalten, das mit mehreren Prioritätsniveaus leichter zu machen ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top