Prozessplanung in Betriebssystemen: Ziele, Kriterien und Algorithmen

Eingeordnet in Elektronik

Geschrieben am in Deutsch mit einer Größe von 4,72 KB

Scheduling-Level

  • Kurzfristiger Scheduler: Zuweisung des Prozessors an bereite Prozesse; schnelle Entscheidungen.
  • Mittelfristiger Scheduler: Ein- und Auslagerung (Swapping) von Prozessen zur Steuerung des Mehrprogrammbetriebs.
  • Langfristiger Scheduler: Auswahl der Jobs, die in das System aufgenommen werden.

Ziele der Planung

  • Maximierung der CPU-Auslastung
  • Maximierung des Durchsatzes
  • Minimierung der Antwortzeit für interaktive Benutzer
  • Vorhersehbarkeit der Ausführungszeiten
  • Gerechte Verteilung der Ressourcen (Fairness)
  • Ausgleich zwischen Prozessorlast und Systembelastung
  • Sicherstellung der Prioritäten

Kriterien der Planung

  • Durchlaufzeit (Turnaround-Zeit): Zeit von der Ankunft bis zum Abschluss eines Prozesses.
  • Wartezeit: Zeit, die ein Prozess in der Bereitschaftsliste verbringt.
  • Antwortzeit: Zeit bis zur ersten Reaktion des Systems; hier nicht entscheidend, sobald ein Prozess erstmals ausgeführt wird.
  • Verhältnis Ausführungszeit/Durchlaufzeit: Maß für die Effizienz der Bedienung.

Politiken der Planung

  • Verdrängende (präemptive) Politik: Der laufende Prozess kann jederzeit unterbrochen und in die Bereitschaftsliste zurückgesetzt werden.
  • Nicht verdrängende Politik: Ein Prozess behält den Prozessor, bis er terminiert oder auf eine Ressource wartet.

Algorithmen der Planung

  • FCFS (First Come, First Served) bzw. FIFO: Bedienung in der Reihenfolge der Ankunft; nicht verdrängend.
  • Round Robin (RR): Zyklische Zuteilung fester Zeitscheiben (Quantum); verdrängend.
  • SJF (Shortest Job First): Auswahl des Prozesses mit der kürzesten Rechenzeit; nicht verdrängend.
  • SRT (Shortest Remaining Time): Auswahl des Prozesses mit der kürzesten Restzeit; verdrängende Variante von SJF.
  • Prioritätsplanung: Auswahl des Prozesses mit der höchsten Priorität; verdrängend oder nicht verdrängend.
  • Mehrstufige Rückkopplungswarteschlangen (Multilevel Feedback Queues): Mehrere Warteschlangen mit Prozessen, die je nach Verhalten zwischen den Ebenen wechseln können.

FCFS im Detail

  • Prozesse werden in der Reihenfolge ihrer Ankunft bedient.
  • Ein Prozess läuft, bis er terminiert oder blockiert.
  • Einfach umzusetzen, aber lange Wartezeiten bei kurzen Prozessen hinter langen Prozessen (Convoy-Effekt).

Round Robin im Detail

  • Jeder Prozess erhält ein Zeitquantum (q).
  • Nach Ablauf des Quantums wird der Prozess an das Ende der Warteschlange gesetzt.
  • Die Größe von q beeinflusst das Verhalten: zu klein führt zu hohem Kontextwechsel-Aufwand, zu groß nähert sich FCFS an.
  • Die Warteschlange wird meist als FIFO geführt.

SJF im Detail

  • Der Prozess mit der kürzesten erwarteten Rechenzeit wird zuerst ausgeführt.
  • Minimiert die mittlere Wartezeit, erfordert jedoch eine Schätzung der Laufzeit.
  • Gefahr des Verhungerns (Starvation) langer Prozesse.

SRT im Detail

  • Verdrängende Variante von SJF: Ein neu ankommender Prozess mit kürzerer Restzeit verdrängt den laufenden.
  • Sehr effizient, aber mit höherem Verwaltungsaufwand.

Prioritäten

  • Prioritäten können statisch (unveränderlich) oder dynamisch (veränderlich) sein.
  • Prozesse mit gleicher Priorität werden meist nach FCFS oder Round Robin bedient.
  • Problem: Verhungern niedrig priorisierter Prozesse.
  • Lösung: Alterung (Aging), bei der die Priorität eines wartenden Prozesses mit der Zeit steigt.

Mehrstufige Warteschlangen

  • Prozesse werden dauerhaft verschiedenen Warteschlangen zugeordnet, etwa nach Typ (interaktiv oder Batch).
  • Zwischen den Warteschlangen erfolgt die Planung meist prioritätsbasiert und verdrängend.
  • Innerhalb der Warteschlangen können unterschiedliche Algorithmen eingesetzt werden, z. B. RR oder FCFS.

Mehrstufige Rückkopplungswarteschlangen

  • Prozesse können zwischen den Warteschlangen wechseln.
  • CPU-intensive Prozesse werden in niedrigere Prioritätsebenen verschoben, E/A-intensive Prozesse bleiben in höheren Ebenen.
  • Flexibel und an das Verhalten der Prozesse angepasst; in den meisten realen Systemen wird eine Kombination verschiedener Algorithmen verwendet.

Verwandte Einträge: