In einem Round-Robin-Scheduler ist das mehrfache Hinzufügen eines Prozesses zur Prozessliste eine kostengünstige Möglichkeit, ihm eine höhere Priorität zu geben.
Ich frage mich, wie praktisch dieser Ansatz sein könnte. Welchen Nutzen hat es gegenüber anderen Techniken, z. B. dem Prozess eine längere Zeitscheibe zu geben (Vorteil: weniger Schaltzeit) oder eine separate Liste von Prozessen mit hoher Priorität zu führen. Wie beeinflusst insbesondere die mehrfache Auflistung eines Prozesses die Fairness und Reaktivität?
(Aus Übung 2.16 in Andrew Tanenbaums Betriebssysteme: Design und Implementierung 1. Aufl.)
operating-systems
process-scheduling
Gilles 'SO - hör auf böse zu sein'
quelle
quelle
Antworten:
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 stehlen würde. Das Einführen längerer Zeitscheiben für Prozesse mit höherer Priorität würde die Reaktionsfähigkeit anderer Threads verringern und es dem Betriebssystem erschweren, sich auf einen Interrupt usw. einzulassen. Das Verwalten separater Prozesslisten würde einen viel komplexeren Scheduler erfordern, der in Bezug auf Zyklen teurer wäre. Ich sehe jedoch kein Problem mit der Fairness. Ich denke, das Problem ist, dass die Granularität ziemlich natürlich ist: Prozesse können nur ganzzahlige Vielfache der Basiszeitscheibe 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 aber auch faul gemacht werden.
quelle
Das mehrmalige Hinzufügen der Aufgabe zu einer Round-Robin-Planungswarteschlange führt zu dem Problem, sicherzustellen, dass die Einträge angemessen verteilt bleiben. Dies ist leicht sicherzustellen, wenn das System keine dynamische Erstellung oder Löschung von Aufgaben zulässt, dies jedoch im Allgemeinen nicht möglich ist.
Zusätzlich zu dem komplexeren Prozess des Entfernens der Elemente aus der Warteschlange führt das eventuelle Verzerren der Prozesseinträge in der Warteschlange zu einem unausgeglichenen Verhalten, das mit mehreren Prioritätsstufen einfacher gerecht zu werden ist.
quelle