Echtzeit- & Betriebssysteme · Scheduling

Einführung

Wie ein Betriebssystem entscheidet, welcher Task wann läuft — die Zustände einer Aufgabe, der „Herzschlag" Tick und die wichtigsten Zeitbegriffe. Zum Anklicken, Ausprobieren und Selbst-Testen.

Kurz zur Erinnerung, bevor wir ins Scheduling einsteigen: Ein RTOS (Echtzeit) priorisiert das Einhalten von Deadlines, ein GPOS (Allzweck) maximiert Durchsatz und Fairness.

Merkmal
RTOS (Echtzeit)
GPOS (Allzweck)
Hauptziel
Termintreue (Deadlines)
Hoher Durchsatz / Fairness
Scheduling
Strikt prioritätsbasiert
Fair Share / Round Robin
Latenz
Minimal & vorhersagbar
Variabel, oft höher
Fehlerfall
Zeitüberschreitung = Systemfehler
Zeitüberschreitung = unschön (Lag)
MERKSATZ

Ein GPOS ist wie ein Bus 🚌 — transportiert viele Leute gleichzeitig, kommt aber mal früher, mal später. Ein RTOS ist wie ein Uhrwerk ⏱ — jeder Schlag muss exakt zum richtigen Zeitpunkt erfolgen.

FOLIE 5 · GRUNDLAGE

Was ist Scheduling?

Ein Multitasking-System führt Tasks scheinbar parallel aus. Aber: ein CPU-Core kann immer nur eine Anweisung gleichzeitig ausführen — also muss gewechselt werden. Der Scheduler ist der Teil des Betriebssystems, der entscheidet, welcher Task zu welchem Zeitpunkt auf der CPU läuft.

1 CPU-Core führt reihum je eine Zeitscheibe eines Tasks aus →
Task P1 Task P2 Task P3 Der Balken oben = die CPU über die Zeit. Sie springt ständig zwischen den Tasks.
FOLIE 6 · MULTITASKING

Kooperativ vs. Präemptiv

Die entscheidende Frage: Wer nimmt dem Task die CPU weg — das OS oder der Task selbst?

Präemptiv robust

Das OS (getriggert durch Hardware-Interrupts / Timer) kann einem laufenden Task die CPU gewaltsam entziehenPreemption (Verdrängung).

↑ Timer-Interrupts schneiden regelmäßig rein — kein Task blockiert ewig.
Kooperativ riskant

Ein Task gibt die CPU nur freiwillig ab. Schreibt man einen fiesen Endlos-Loop, steht das ganze System.

⛔ SYSTEM HÄNGT
FOLIE 7–13 · ZUSTÄNDE

Zustände einer Aufgabe

Wie werden Aufgaben verwaltet? Das ist der Zustandsautomat eines Tasks. Klick auf einen Knoten für Details — oder auf einen Pfeil, um deinen Weg unten im Protokoll aufzuzeichnen.

MODELL
SPRACHE
{{ diagram }}
{{ l.de }}
{{ curName }} {{ curEn }}

{{ curDesc }}

ANALOGIE · HÖRSAAL & PRÜFUNG

{{ curAnalogie }}

MÖGLICHE ÜBERGÄNGE
{{ t.label }} → {{ t.toName }} {{ t.trig }}
Endzustand — keine weiteren Übergänge. Die Ressourcen des Tasks werden freigegeben.
PROTOKOLL · DEIN WEG

Noch keine Übergänge — klick im Diagramm auf einen Pfeil, um deinen Weg durch die Zustände aufzuzeichnen.

{{ p.n }} {{ p.from }} —{{ p.label }}→ {{ p.to }}
FOLIE 14 · HANDS-ON

Zustands-Simulator

Führe einen Task selbst durch seinen Lebenszyklus. Wähle bei jedem Schritt den richtigen nächsten Zustand.

{{ scenStepLabel }}
🎉 Geschafft!

Du hast den kompletten Lebenszyklus einmal durchlaufen: Neu → Bereit → Laufend → Wartend → Bereit.

{{ scenPrompt }}

{{ scenFb }}
FOLIE 16 · ZEIT

Was ist ein Tick?

Ein Tick ist der Herzschlag des Betriebssystems: ein Hardware-Timer des Prozessors, der in festem Intervall einen Interrupt (den System-Tick-Interrupt) auslöst.

{{ tickCount }}
TICK COUNT
BEI JEDEM SCHLAG PASSIERT:
1Der Kernel erhöht den Tick Count um 1.
2Der Scheduler prüft: ist ein höher-priorer Task bereit, oder ist ein Delay abgelaufen?
3Falls nötig, findet ein Context Switch (Task-Wechsel) statt.
FOLIE 17 · ZEIT

Warum Ticks und keine echte Zeit?

Drei Hauptgründe, warum das System intern lieber Ticks zählt, statt echte Sekunden zu rechnen:

⚡ Effizienz

Eine Ganzzahl (den Tick-Zähler) zu vergleichen ist für den Prozessor viel „billiger" als komplexe Gleitkommazahlen für Sekunden zu berechnen.

🔌 Abstraktion

Der Code bleibt portabel. Taktest du den Chip von 80 auf 160 MHz hoch, ändern sich die Taktzyklen — der Scheduler zählt einfach weiter seine Ticks.

🎯 Determinismus

Ein Echtzeitsystem muss vorhersagbar sein. Die Tick-Rate definiert die feinste Granularität, mit der das System Ereignisse auflösen kann.

FOLIE 18–19 · BEGRIFFE

Zeitbegriffe auf dem Zeitstrahl

Zieh an den Reglern und beobachte, wie sich Antwortzeit R, relative Deadline D und Wartezeit verändern — und ob die Deadline noch gehalten wird.

rechnet
a = Ankunft
d = Deadline
R = f − a = {{ valR }}
D = d − a = {{ valD }}
Wartezeit s − a = {{ valWait }}
{{ metText }}
Sym.
Fachbegriff (EN)
Deutsch
Bedeutung
aᵢ
Arrival Time
Ankunftszeit
Zeitpunkt t, zu dem die Aufgabe im System eintrifft.
sᵢ
Start Time
Startzeit
Zeitpunkt t, zu dem die CPU die Aufgabe zum ersten Mal bearbeitet.
fᵢ
Finish Time
Abschlusszeit
Zeitpunkt t, zu dem die Aufgabe komplett fertig ist.
dᵢ
Absolute Deadline
Absolute Deadline
Exakter Zeitpunkt t, bis zu dem die Aufgabe fertig sein muss.
Cᵢ
Computation Time
Rechenzeit
Reine Netto-Zeit, die der Prozessor für die Aufgabe rechnet.
Tᵢ
Period
Periode
Intervall, nach dem eine Aufgabe erneut eintrifft (zyklische Tasks).
Dᵢ
Relative Deadline
Relative Deadline
Max. erlaubte Dauer Ankunft→Abschluss (Dᵢ = dᵢ − aᵢ).
Rᵢ
Response Time
Antwortzeit
Tatsächliche Brutto-Dauer Ankunft→Abschluss (Rᵢ = fᵢ − aᵢ).

Fachwortglossar

Englische Fachbegriffe mit deutscher Übersetzung und Erklärung. Durchsuchbar und nach Themen filterbar.

{{ glossCount }}
{{ g.en }} {{ g.cat }}
{{ g.de }}

{{ g.ex }}

Quiz & Fragen

{{ scoreText }}

Wähle eine Antwort und prüfe sie — du bekommst sofort richtig / falsch mit Erklärung.

{{ q.n }} {{ q.question }}
{{ q.bannerText }} {{ q.explanation }}

Offene Fragen

Formuliere zuerst selbst eine Antwort — dann klapp die Musterlösung auf und vergleiche.

{{ o.n }} {{ o.question }}
MUSTERLÖSUNG

{{ o.answer }}