đŸ–„ïž

Effizientes CPU-Scheduling verstehen

Nov 16, 2024

Scheduling Vortrag

Motivation

  • Problem: Nur eine CPU fĂŒr mehrere Prozesse.
  • Ziel: Quasi-ParallelitĂ€t durch effizientes Scheduling.
  • CPU ist oft untĂ€tig, wenn Prozesse auf I/O-Operationen warten.

Lernziele

  • Erkennen der Notwendigkeit von Scheduling.
  • Beschreibung und Bewertung von Schedulingstrategien.

Grundlagen des Scheduling

  • Ready Queue: Warteschlange fĂŒr rechenbereite Prozesse.
  • Scheduler: Entscheidet, welcher Prozess als nĂ€chstes die CPU erhĂ€lt.
  • Context Switch: Prozesswechsel, der einen zusĂ€tzlichen Aufwand mit sich bringt.
    • Schritte: Wechsel zum Kernelmodus, Speichern des Zustands, Auswahl nĂ€chster Prozess, Laden des neuen Prozesses, RĂŒckkehr zum Benutzermodus.

Threads

  • Prozesse können mehrere Threads haben (leichter zu erzeugen und wechseln).
  • Threads teilen sich Prozessumgebung, aber nicht Stacksegment.
  • Beispiel: Textverarbeitung hat mehrere Threads (Anzeige, Eingabe, Auto Save).

Scheduling-Ziele

  • Maximale CPU-Auslastung und Durchsatz.
  • Minimale Verweil- und Wartezeiten.
  • Reaktionszeit in interaktiven Systemen.

Scheduling-Verfahren

  • Nicht-preemptiv: Prozess lĂ€uft bis zum Blockieren oder freiwilligen Beenden.
  • Preemptiv: CPU kann entzogen werden, wenn z.B. Zeitscheibe ablĂ€uft.

Scheduling-Algorithmen

  • First-Come-First-Serve (FCFS): First-in, First-out Prinzip, nicht-preemptiv.
  • Shortest-Job-First (SJF): KĂŒrzester Prozess zuerst, nicht-preemptiv.
  • Shortest-Time-Remaining (STR): Preemptive Version von SJF.
  • Round Robin (RR): Zuteilung per Zeitscheibe, stark von ZeitscheibenlĂ€nge abhĂ€ngig.
  • Priority Scheduling: Prozesse erhalten PrioritĂ€ten, Aushungerung möglich.
  • Multilevel-Feedback-Queue (MLFQ): Mehrere Queues mit unterschiedlichen PrioritĂ€ten und Zeitmultiplexen.

Zusammenfassung

  • Entscheidung beim Umschalten von Prozessen, welcher Prozess die CPU erhĂ€lt.
  • Verschiedene Algorithmen optimieren unterschiedliche Metriken (z.B. Wartezeit).

Lernzielkontrolle

  • DurchfĂŒhrung und Analyse verschiedener Schedulingverfahren anhand von Beispielen.
  • VerstĂ€ndnisfragen zu Scheduler, Dispatcher und Kontextwechsel.

1-Minute Fragen

  • Reflexion ĂŒber das Gelernte und Identifikation von Unklarheiten.