3.2.10.2.4 Round Robin

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(29 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<loop_index id="5fa9787810cf1">Round Robin</loop_index><loop_index id="5fa978785acc9">RR</loop_index><loop_index id="5fa978785acd6">Scheduling, RR</loop_index>
Round Robin (RR) ist ein Scheduling-Verfahren, welches die zur Verfügung stehende CPU-Zeit in kleine [[Scheduling#Definition:_Zeitscheibe_.28Quantum.29|Zeitscheiben]] einteilt. Alle Prozesse werden in eine initiale Reihenfolge gebracht und der erste Prozess bekommt die CPU. Er darf diese genau bis zum Ablauf seines [[Scheduling#Definition:_Zeitscheibe_.28Quantum.29|Zeit-Quantums]] nutzen, anschließend wird er unterbrochen und der nächste Prozess in der Reihenfolge ist am Zug. Auch hier findet wieder eine Unterbrechung am Ende des [[Scheduling#Definition:_Zeitscheibe_.28Quantum.29|Quantums]] statt, usw. Nach dem letzten Prozess ist wieder der Erste an der Reihe.
</p>
<br />
<p>
<loop_area type="notice">
<p>
In gewisser Weise ergänzt RR das [[First Come First Serve|FCFS-Verfahren]] um eine [[Scheduling#Definition:_Zeitscheibe_.28Quantum.29|Zeitscheibe]]. Alle Prozesse werden gleich behandelt.
</p>
</loop_area>
</p>
<br />
== Aufgabe 1 ==
<p>
<loop_area type="task">
<loop_task title="RR animiert" id="5fa9787810cff">
<p>
RR wird in dieser [https://ess.cs.uni-osnabrueck.de/software/AnimOS/CPU-Scheduling/ Animation] behandelt. Probiere es aus!
</p>
<p>
Achte darauf, dass unter 'Scheduling strategy' der richtige Scheduling-Algorithmus ausgewählt ist. Und finde heraus, welche Bedeutung 'CPU burst' und 'IO burst' in dieser Animation haben.
</p>
</loop_task>
</loop_area>
</p>
<br />
== Optimale Länge einer Zeitscheibe ==
<p>
Es drängt sich die Frage nach der optimalen Länge einer Zeitscheibe auf. Sie soll nicht zu lang und nicht zu kurz sein. <small>(Was eine herrlich diplomatische Antwort darstellt.)</small>
</p>
<br />
== Aufgabe 2 ==
<p>
<loop_area type="task">
<loop_task title="Zu kurz oder zu lang" id="5fa9787810d09">
<p>
Es ist denkbar, dass das Betriebssystem deines PCs oder Laptops nach dem RR-Verfahren arbeitet. Was ist zu befürchten,
* wenn das Quantum zu kurz gewählt ist?
* wenn das Quantum zu lang gewählt ist?
</p>
</loop_task>
</loop_area>
</p>
<br />
== Zeitscheiben in der Praxis ==
<p>
<cite id="5fa9787810d13">Tanenbaum+2009</cite> und <cite id="5fa9787810d1c">Strelen+2012</cite> geben an, dass Zeitscheiben in einer Größenordnung von 10 bis 50 ms verbreitet seien. <cite id="5fa9787810d25">Eisenhardt+et.al.+2007</cite> sehen typische Längen zwischen 10 und 100 ms, und bei <cite id="5fa9787810d2e">Mandl+2013</cite> ist ein Intervall von 10 bis 200 ms zu finden. <small>(Zumindest in der unteren Grenze sind sich alle einig.)</small>
</p>
<p>
In einem [http://support.microsoft.com/kb/259025 Knowledge Base Artikel von Microsoft (KB 259025)] finden sich einige Hinweise zur Länge der verwendeten Zeitscheiben bei Windows 2000 und Windows XP. Je nach Prozessor und Konfiguration von Windows gehen die Werte aber stark auseinander.
</p>
<p>
Die folgende Abbildung stammt aus einem Windows 7 Professional und zeigt den Ausschnitt eines Konfigurationsfensters. Durch ändern der Option ''Optimale Leistung anpassen für'' wird die Länge des Quantums für (Vordergrund-) Programme und Hintergrunddienste verändert, ohne dass man jedoch die tatsächliche Länge in Millisekunden beeinflussen könnte. <small>(Das ist wohl auch besser so.)</small>
</p>
<br />
<p>
<loop_figure title="Windows 7 Prozessorzeitplanung" description="Zu finden unter: Systemsteuerung / System / Erweiterte Systemeinstellungen / Erweitert / Leistung / Einstellungen" copyright="CC-BY" index=true show_copyright=true id="5fa9787810d38">
[[Datei:Win7-quantum-anpassen.JPG]]
</loop_figure>
</p>
<br />
<p>
Ist das Betriebssystem auf einem Computer installiert, der vorrangig im Dialogbetrieb mit einem User agiert, so ist die Option ''Optimale Leistung anpassen für '''Programme''''' richtig gewählt. Fungiert der Computer hingegen als Server und bedient die Anfragen verschiedener Clients, so ist ''Optimale Leistung anpassen für '''Hintergrunddienste''''' als Einstellung empfehlenswert.
Es verwundert daher nicht, dass auf einem Windows Server 2008 R2 das gleiche Konfigurationsfenster zu finden ist, wobei jedoch die alternative Option ausgewählt ist.
</p>
<br />
<p>
<p>
{{#index:Round Robin|RR|Scheduling, RR}}
<loop_figure title="Windows Server 2008 R2 Prozessorzeitplanung" description="Zu finden unter: Systemsteuerung / System / Erweiterte Systemeinstellungen / Erweitert / Leistung / Einstellungen" copyright="CC-BY" index=true show_copyright=true id="5fa9787810d42">
Dieses Thema wird in der weiterführenden Literatur behandelt:
[[Datei:Win2008r2-quantum-anpassen.JPG]]
</loop_figure>
</p>
</p>
<br />
<p>
<loop_area type="notice">
<p>
Auch wenn viele aktuelle Betriebsysteme Zeitscheiben verwenden, so bedeutet dies nicht, dass auch das ursprüngliche Round Robin-Verfahren, wie es hier beschrieben ist, eingesetzt wird. In gewisser Weise kann man aber sicherlich von einem ''stark weiterentwickelten und optimierten RR-Verfahren'' sprechen.
</p>
</loop_area>
</p>
<br />
== Weiterführende Literatur ==
<p>
RR wird u.a. behandelt bei:
* <cite id="5fa9787810d4b">Eisenhardt+et.al.+2007</cite>, Kapitel 9.2.4
* <cite id="5fa9787810d55">Glatz+2010</cite>, Kapitel 3.4.3
* <cite id="5fa9787810d5e">Mandl+2013</cite>, Kapitel 5.2
* <cite id="5fa9787810d66">Strelen+2012</cite>, Kapitel 4.1
* <cite id="5fa9787810d6d">Tanenbaum+2009</cite>, Kapitel 2.4.3
</p>
<p>
und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden.
</p>
<br />
== Aufgabe 3 ==
<p>
<loop_area type="task">
<loop_task title="RR und E/A-lastige Prozesse" id="5fa9787810d75">
<p>
<p>
<loop_area type="notice">'''Weiterführende Literatur'''<br>
Dem RR-Verfahren wird nachgesagt, dass es E/A-lastige Prozesse benachteiligt.</p>
<cite>Mandl+2013</cite> erläutert dieses Thema in Kapitel 5.2 (Scheduling-Verfahren). Die Lektüre dieser Quelle sei ausdrücklich empfohlen.<br />
<small>
<p>
<p>
Studierende sind oftmals berechtigt, eine PDF-Version dieses Buches ohne entstehende Kosten [[Hinweise für Studierende#Downloadbare Bücher von Springerlink|über ihre Hochschulen von Springerlink zu beziehen.]]
Überlege, recherchiere und diskutiere in deiner Lerngruppe:
* Was versteht man unter E/A-lastigen Prozessen?
* Warum kommt es zu einer Benachteiligung?
* Macht es einen Unterschied, ob gerade sehr viele oder nur sehr wenige Prozesse auf dem System gestartet sind?
</p>
</p>
</small>
 
</loop_task>
</loop_area>
</loop_area>
</p>
</p>

Aktuelle Version vom 15. Januar 2024, 09:03 Uhr

Round Robin (RR) ist ein Scheduling-Verfahren, welches die zur Verfügung stehende CPU-Zeit in kleine Zeitscheiben einteilt. Alle Prozesse werden in eine initiale Reihenfolge gebracht und der erste Prozess bekommt die CPU. Er darf diese genau bis zum Ablauf seines Zeit-Quantums nutzen, anschließend wird er unterbrochen und der nächste Prozess in der Reihenfolge ist am Zug. Auch hier findet wieder eine Unterbrechung am Ende des Quantums statt, usw. Nach dem letzten Prozess ist wieder der Erste an der Reihe.


Hinweis

In gewisser Weise ergänzt RR das FCFS-Verfahren um eine Zeitscheibe. Alle Prozesse werden gleich behandelt.


Aufgabe 1

Aufgabe

RR wird in dieser Animation behandelt. Probiere es aus!

Achte darauf, dass unter 'Scheduling strategy' der richtige Scheduling-Algorithmus ausgewählt ist. Und finde heraus, welche Bedeutung 'CPU burst' und 'IO burst' in dieser Animation haben.


Optimale Länge einer Zeitscheibe

Es drängt sich die Frage nach der optimalen Länge einer Zeitscheibe auf. Sie soll nicht zu lang und nicht zu kurz sein. (Was eine herrlich diplomatische Antwort darstellt.)


Aufgabe 2

Aufgabe

Es ist denkbar, dass das Betriebssystem deines PCs oder Laptops nach dem RR-Verfahren arbeitet. Was ist zu befürchten,

  • wenn das Quantum zu kurz gewählt ist?
  • wenn das Quantum zu lang gewählt ist?


Zeitscheiben in der Praxis

Tanenbaum 2009 und Strelen 2012 geben an, dass Zeitscheiben in einer Größenordnung von 10 bis 50 ms verbreitet seien. Eisenhardt et.al. 2007 sehen typische Längen zwischen 10 und 100 ms, und bei Mandl 2013 ist ein Intervall von 10 bis 200 ms zu finden. (Zumindest in der unteren Grenze sind sich alle einig.)

In einem Knowledge Base Artikel von Microsoft (KB 259025) finden sich einige Hinweise zur Länge der verwendeten Zeitscheiben bei Windows 2000 und Windows XP. Je nach Prozessor und Konfiguration von Windows gehen die Werte aber stark auseinander.

Die folgende Abbildung stammt aus einem Windows 7 Professional und zeigt den Ausschnitt eines Konfigurationsfensters. Durch ändern der Option Optimale Leistung anpassen für wird die Länge des Quantums für (Vordergrund-) Programme und Hintergrunddienste verändert, ohne dass man jedoch die tatsächliche Länge in Millisekunden beeinflussen könnte. (Das ist wohl auch besser so.)


Win7-quantum-anpassen.JPG


Ist das Betriebssystem auf einem Computer installiert, der vorrangig im Dialogbetrieb mit einem User agiert, so ist die Option Optimale Leistung anpassen für Programme richtig gewählt. Fungiert der Computer hingegen als Server und bedient die Anfragen verschiedener Clients, so ist Optimale Leistung anpassen für Hintergrunddienste als Einstellung empfehlenswert. Es verwundert daher nicht, dass auf einem Windows Server 2008 R2 das gleiche Konfigurationsfenster zu finden ist, wobei jedoch die alternative Option ausgewählt ist.


Win2008r2-quantum-anpassen.JPG


Hinweis

Auch wenn viele aktuelle Betriebsysteme Zeitscheiben verwenden, so bedeutet dies nicht, dass auch das ursprüngliche Round Robin-Verfahren, wie es hier beschrieben ist, eingesetzt wird. In gewisser Weise kann man aber sicherlich von einem stark weiterentwickelten und optimierten RR-Verfahren sprechen.


Weiterführende Literatur

RR wird u.a. behandelt bei:

und kann dort - je nach Verfügbarkeit der Quellen - nachgelesen werden.


Aufgabe 3

Aufgabe

Dem RR-Verfahren wird nachgesagt, dass es E/A-lastige Prozesse benachteiligt.

Überlege, recherchiere und diskutiere in deiner Lerngruppe:

  • Was versteht man unter E/A-lastigen Prozessen?
  • Warum kommt es zu einer Benachteiligung?
  • Macht es einen Unterschied, ob gerade sehr viele oder nur sehr wenige Prozesse auf dem System gestartet sind?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png