Einführung in Echtzeit‑
und Betriebssysteme
Dieses Modul verbindet zwei Welten: das Allzweck‑Betriebssystem auf deinem Laptop und das Echtzeit‑Betriebssystem in Auto, Flugzeug und Mikrocontroller. Ziel: verstehen, wie Software die Hardware bändigt — und warum manchmal Millisekunden über Leben und Tod entscheiden.
Grundlagen, Aufgaben, Abstraktion & Ressourcenverwaltung. Der „Alleskönner".
Determinismus, Deadlines, FreeRTOS & Pigweed. Der „Spezialist".
Lernziele der Veranstaltung
Was du am Ende können sollst.
Vorbereitung für die Übungen
Diese Werkzeuge solltest du vorab installieren.
Was ist ein Betriebssystem?
„Ein Betriebssystem ist eine Software, welche die Ausführung von Programmen steuert und Dienste bereitstellt…"
— ISO/IEC 2382
{{ d.desc }}
Aufgaben: die drei Rollen des BS
Ein Betriebssystem trägt gleichzeitig drei Hüte.
Abstraktion & Ressourcenverwaltung
Zwei Blickwinkel auf dieselbe Aufgabe.
Schutzschild & Vereinfacher.
- Details verbergen: Niemand muss wissen, wie Magnetisierung oder Pixelspannung funktioniert.
- Einheitliche Schnittstellen: Ob Samsung- oder SanDisk-USB — für dich immer „ein Laufwerk".
- Virtuelle Maschine: Eine ideale, vereinfachte Hülle über komplizierter Hardware.
Manager & Polizist.
- Effizienz: Teure Hardware maximal auslasten, ohne dass das System „einfriert".
- Fairness: Kein einzelnes Programm darf alle Ressourcen an sich reißen.
- Sicherheit: Prozesse isolieren — Online-Banking vs. dubiose Website.
Jedes Programm glaubt, es habe einen eigenen, leeren Speicher ab Adresse 0. In Wahrheit ist der RAM zerstückelt und voll mit fremden Daten. Das BS bildet virtuelle auf physische Adressen ab.
ab
Illusion: Jedes Programm denkt, es hätte den Prozessor ganz für sich und liefe ununterbrochen.
Realität: Nur wenige Kerne, aber hunderte Prozesse wollen gleichzeitig laufen.
Illusion: „Egal welche Festplatte — für dich ist es nur ein Ort für Urlaub.jpg."
Realität: Tausende verschiedene Platten, Grafikkarten und Drucker, alle unterschiedlich angesteuert.
GPOS gegen RTOS
Zwei Philosophien. Das eine will flüssig & fair sein, das andere pünktlich & vorhersehbar.
Der Alleskönner für Flexibilität und Benutzerfreundlichkeit.
Der Spezialist für Zuverlässigkeit und feste Zeitvorgaben.
Jeder Marker ist eine fertige Aufgabe. Die rote Linie ist die Deadline. Beobachte: Das RTOS trifft exakt, das GPOS schwankt — und reißt manchmal die Frist.
Fairness vs. Durchsatz
Zwei Ziele, die sich oft widersprechen. Erst die Begriffe — dann selbst am Regler ausprobieren.
Viele Prozesse konkurrieren gleichzeitig um die CPU — Ziel ist eine gerechte Verteilung der Rechenzeit.
- Gleiche Chancen: jeder Prozess gleicher Priorität erhält einen fairen Anteil an CPU‑Zeit.
- Verhungern vermeiden (Starvation): auch niedrig priorisierte Prozesse kommen irgendwann dran.
- Time‑Slicing: Verfahren wie Round Robin geben jedem ein festes Zeitquant.
Der Durchsatz (Throughput) misst die Effizienz bei der Abarbeitung von Aufgaben über einen längeren Zeitraum.
- Maximierung der Arbeit: so viele Prozesse wie möglich pro Zeiteinheit abschließen.
- Minimierung des Overheads: weniger Kontextwechsel (Context Switches) = mehr Nutzarbeit.
- Batch‑Verarbeitung: Hintergrundaufgaben effizient „wegarbeiten", solange nichts Interaktives Vorrang hat.
Es besteht ein Zielkonflikt (Trade‑off) — schiebe den Regler und beobachte, wie sich beide Seiten verändern.
Bei gleichen Eingangsbedingungen immer das gleiche zeitliche Verhalten.
- Vorhersehbarkeit: mathematisch beweisbar, wann ein Task fertig ist.
- Preemption: der wichtigste Task verdrängt andere sofort.
- Garantie: die Deadline wird eingehalten (Hard‑Real‑Time).
Verzögerung zwischen Ereignis und Reaktion — beim RTOS minimiert.
- Interrupt‑Latenz: Signal → Start der ISR.
- Task‑Switch‑Latenz: Stopp alt → Start des höchstprioren Tasks.
- Jitter: Schwankung der Latenz — ein RTOS hält sie klein.
Drücke mehrfach auf „Interrupt feuern". Jeder Balken ist die gemessene Reaktionszeit (Interrupt → ISR). Beim RTOS bleiben die Balken fast gleich hoch (wenig Jitter), beim GPOS springen sie wild.
FreeRTOS & Pigweed
Es gibt viele RTOS. Aber welches lernt man — und wie schreibt man Code, der überall läuft?
Die RTOS‑Landschaft
- Open‑Source‑RTOS für Mikrocontroller
- Winziger Footprint: oft <10 KB ROM, <2 KB RAM
- De‑facto‑Industriestandard, verwaltet von Amazon (AWS)
- C‑basiert, stark modular
Googles quelloffene Sammlung modularer C++‑Bibliotheken (Middleware) für robuste Embedded‑Systeme. Sie bildet eine Abstraktionsschicht: derselbe Code läuft ohne Änderung auf verschiedenen Mikrocontrollern — oder sogar auf dem PC.
Mit Tokenized Logging & integriertem Unit‑Testing spart es Speicher und beschleunigt den Entwicklungszyklus.
RTOS‑Abstraktion: FreeRTOS → Pigweed
Pigweed vereinheitlicht hardwarenahe Funktionen — plattformunabhängig.
{{ a.free }}
→
{{ a.pig }}
{{ a.desc }}
Fachwort‑Glossar
Jeder englische Fachbegriff mit deutscher Übersetzung und einfacher Erklärung.
{{ g.desc }}
Quiz & Lernfragen
Multiple‑Choice korrigiert sich nach dem Prüfen automatisch. Offene Fragen beantwortest du selbst — dann klappst du die Musterlösung auf.