EMZETT.
Login

Prozess-Scheduling

Kurz: Der Scheduler des Betriebssystems entscheidet, welcher Prozess oder Thread wann wie lange auf einem Prozessorkern laufen darf. Ziel ist ein Mix aus Fairness, Durchsatz und kurzer Reaktionszeit.

Genauer: Bei Zeitscheiben (Round Robin) läuft jeder Thread kurz, dann wechselt der Kernel per Kontextwechsel zum nächsten. Prioritäten bevorzugen wichtige Aufgaben. Moderne Kerne nutzen komplexe Verfahren wie das Completely Fair Scheduling (CFS) von Linux.

Im Detail

  • Kontextwechsel: Register und Zustand sichern/laden. Kostet Zeit und leert Caches.
  • Präemptiv vs. kooperativ: Der Kernel kann Threads unterbrechen, oder sie geben freiwillig ab.
  • Prioritäten und nice: Beeinflussen den CPU-Anteil.
  • Echtzeit-Scheduling: Feste Fristen (z. B. Robotik, Audio).
  • Verhungern (Starvation): Niedrige Prioritäten kommen nie dran. Gegenmittel: Aging.
  • Prioritätsumkehr: Niedrige Aufgabe hält Sperre, die hohe braucht.
  • Mehrkern: Lastverteilung zwischen Kernen und Rücksicht auf Cache-Affinität.

Siehe auch: Virtueller Speicher und Paging, Systemaufrufe und Kernel-Modus