Skip to content

Einführung in die CPU-Scheduling


📚 1️⃣ Einführung

CPU-Scheduling bestimmt, welcher Prozess die CPU bekommt und wann.
Da mehrere Prozesse gleichzeitig um die CPU konkurrieren, muss das Betriebssystem faire und effiziente Zuweisungen treffen.

🔑 Wichtige Begriffe

  • Prozesszustände: Ready, Running, Blocked
  • Workload: Menge von Jobs mit Ankunftszeit, Laufzeit, I/O-Bedarf
  • Scheduler: Wählt, welcher Prozess als nächster läuft
  • Wichtige Metriken:
Englischer Begriff Beschreibung Formel
Throughput Anzahl abgeschlossener Prozesse pro Zeiteinheit \(Throughput=\frac{Gesamtzeit}{Anzahl der abgeschlossenen Prozesse}\)
Waiting Time Zeit, die ein Prozess in der Ready-Queue verbringt \(Waiting Time=Turnaround Time−Burst Time\)
Response Time Zeit von der Ankunft bis zum ersten CPU-Zugriff \(Response Time=Startzeit−Ankunftszeit\)
Fairness Gleichmäßige Verteilung der CPU-Zeit auf Prozesse Keine feste Formel, wird durch Scheduling-Strategien bestimmt
Turnaround Time (TAT) Zeit von Ankunft → Abschluss eines Prozesses \(Turnaround Time=Completion Time−Arrival Time\)

🔑 2️⃣ Wichtige Konzepte

  • Prozess-Queues: Das OS verwaltet Prozesse mit Ready-Queues und Blocked-Queues.
  • Wichtige CPU-Scheduling-Strategien:
    • First-Come, First-Served (FCFS): Prozesse werden in der Reihenfolge ausgeführt, in der sie ankommen.
    • Shortest Job Next (SJN): Der kürzeste Prozess wird zuerst ausgeführt.
    • Round Robin (RR): Jeder Prozess bekommt eine feste Zeit auf der CPU (Zeitscheibenverfahren).
    • Priority Scheduling: Prozesse mit hoher Priorität laufen zuerst.

⚙️ 3️⃣ Mechanismen und Strategien

  • Preemptive vs. Non-Preemptive Scheduling:
    • Preemptive: Das OS kann einen laufenden Prozess unterbrechen und einen anderen starten.
    • Non-Preemptive: Ein Prozess läuft, bis er von selbst fertig ist.
  • CPU-Burst vs. I/O-Burst: Prozesse wechseln zwischen CPU-Auslastung und I/O-Wartezeit.

📈 4️⃣ Beispiel

Round-Robin mit Zeitscheiben:
Wenn die Zeitscheibe 100 ms beträgt, wird ein Prozess nach 100 ms unterbrochen und der nächste darf laufen.


🎯 5️⃣ Fazit

  • Scheduling-Algorithmen beeinflussen Systemleistung und Reaktionszeit.
  • Kein Algorithmus ist perfekt – das OS wählt je nach Zielsetzung (z. B. Fairness, Latenz, Durchsatz) den besten.