Next: Java Thread Scheduling
Up: CPU-Prozess-Scheduling (Prozessablaufplanung)
Previous: Round-Robin-Algorithmus
  Contents
Mehrstufiges Scheduling
Eine weitere Möglichkeit Prioritäts-Scheduling zu implementieren ist es, Prozesse
in Prioritäts-Klassen einzuteilen. Man kann dann für jede Klasse eine eigene
Schlange einrichten und nun möglicherweise verschiedene Scheduling-Algorithmen
auf jede Schlange anwenden. Zusätzlich benötigt man dann einen Scheduler der
entscheidet welche der Schlangen ausgewählt wird. weitergemacht wird. Hier wird
nun in der Regel ein preemtives Prioritäts-Scheduling mit fixen Prioritäten
angewandt. Dies führt nun wieder zu den Problemen die von der
Prioritäts-Scheduling Algorithmen bekannt sind, wenn die Prioritäten
unverändert bleiben (vgl. Abschnitt
). Diese Probleme kann
man mit dem sogennanten Mehrstufigem Feedback-Schlangen Scheduling
lösen, das Prozesse, die zu lange brauchen, in eine niedrigere
Prioritäts-Klasse verschiebt. Für weitere Details sei auf [] verwiesen.
Als ein Beispiel für das mehrstufige Scheduling geben wir in Abbildung
eine
Klasseneinteilung unterschiedlicher Prozesse an.
Figure:
Mehrstufiges Schlangen Scheduling
 |
Die höchste Priorität hätten in diesem Fall die Systemprozesse. Also die
Prozesse, die für den Ablauf des Betriebssystems verantwortlich sind, wie der
Scheduler. Die nächste Priorität haben interaktive Prozesse, bei denen die
Benutzer auf eine Ausgabe warten. In der dritten Prioritäts-Klasse werden die
interaktiven Editierprozesse eingeordnet. Darunter versteht man Editoren, die
von Benutzern gestartet wurden. Die Batch-Prozesse (4. Prioritäts-Klasse) sind
die Prozesse, die den Aufruf verschiedener anderer Prozesse steuren. Die
niedrigste Priorität hätten alle anderen Benutzerprozesse.
Next: Java Thread Scheduling
Up: CPU-Prozess-Scheduling (Prozessablaufplanung)
Previous: Round-Robin-Algorithmus
  Contents
Prof. Dr. Pluemicke
2003-05-10