Eingebettete Betriebssysteme (2018)
Wintersemester 2018/2019
Prof. Dr. Andreas Polze
Jossekin Beilharz
Lukas Pirl
Daniel Richter
Im Wintersemester 2018/2019 findet eine Vorlesung zum Thema "Eingebettete Betriebssysteme" statt. Der Umfang der Lehrveranstaltung beträgt 4 SWS. In die Bewertung der Vorlesung (6 benotete Leistungspunkte) geht die Note einer mündlichen Prüfung zu 100% ein. Eine erfolgreiche Teilnahme am Praktikum/Übung ist Prüfungsvorraussetzung.
Die Verbreitung eingebetteter Systeme stieg in den letzten Jahren rasant. Bei der Softwareentwicklung für eingebettete Systeme treten Aspekte in den Vordergrund, die bei Desktopsystemen nur eine untergeordnete Rolle spielen. Diese Aspekte umfassen vorhersagbares zeitliches Verhalten (Echtzeit), die Verwaltung von knappen Ressourcen (Speicher, Netzwerk), verlässliche Kommunikationsprotokolle, Energieverwaltung, Entwurf von Nutzerschnittstellen (headless operation), Systemkonfiguration sowie Programmiersprachen und Modelle. In der Veranstaltung werden Entwurfsentscheidungen moderner eingebetteter Betriebssysteme an Hand von Bespielszenarien erläutern und ein Einblick in aktuelle Standardisierungsprozesse gegeben.
In der Vorlesung werden Algorithmen zur Verwaltung von Ressourcen wie Speicher, CPU, Netzwerk u.a. vorgestellt, an die durch viele Einschränkungen von eingebetteten Systemen besondere Anforderungen gestellt werden. Aber auch aufkommende Konzepte wie die Konfigurierbarkeit von Betriebssystemen und anwendungsspezifische Betriebssysteme werden vorgestellt.
Des Weiteren soll die Forschung am Lehrstuhl „Betriebssysteme und Middleware” im Projekt „Distributed Control Lab” sowie im IoT-Lab als Fallstudie für den Einsatz von eingebetteten Betriebssystemen vorgestellt werden. Die Steuerung des Experimente wird anhand verschiedener Lösungsstrategien und Verwendung unterschiedlicher Betriebssysteme erläutert und in Übungen und Praktika vertieft.
Die Schwerpunkte der Praktika liegen bei Betriebssystemen für eingebettete Systeme, verteilten Echtzeitsystemen, Echtzeitsteuerung, Firmware-Programmierung und systemnaher App-Programmierung (iOS, Android, Windows Phone). Die Praktikumsaufgaben werden im Rahmen der Vorlesung erläutert, diskutiert und können durch die Interessen der Teilnehmenden mitgestaltet werden.
Reguläre Termine
Prüfungen
Ablauf und Unterlagen zur Vorlagen
Mi, 17.10. | AP | Überblick & Ablauf (Programming Embedded) |
Do, 18.10. | Klausurtagung Forschungskolleg | |
Mi, 24.10. | IBM Technical University Rome | |
Do, 25.10. | IBM Technical University Rome | |
Mi, 31.10. | Reformationstag | |
Do, 01.11. | AP |
Vorstellung Projektbetrieb
(Hardware Pool,
RIOT-OS)
Performance Measures What really happened on Mars (Blog post, NASA Jet Propulsion Lab) |
Mi, 07.11. | AP | Computers as Components (Embedded System Design) |
Do, 08.11. | AP | Rechnerarchitektur 1 (Case Study), Performancemaße für Echtzeitysteme, Projektvorstellung Überblick |
Mi, 14.11. | FutureSOC Lab Day bei SAP in Berlin | |
Do, 15.11. | DR, AP | Carrera Racetrack Experiment, Programmlaufzeit, Diskussion Projektarbeit |
Mi, 21.11. | AP, LP | Performancemaße revisited, Scheduling & Task Assignment I. Scheduling & Task Assignment II |
Do, 22.11. | Klausurtagung Fachgebiet OSM | |
Mi, 28.11. | Development of a Simple Operating System for LEGO Mindstorms EV3 , Speicherprogrammierbare Steuerungen (SPS/PLC; Bsp. Multi-Level-Umrichter ) | |
Do, 29.11. | Projektarbeit ZF // Vöhringer Besuch | |
Mi, 05.12. | alle | Besprechung Konzepte und Fortschritt der Projekte |
Do, 06.12. |
Übungsbetrieb, selbstständig; Treffen nach Vereinbarung
(Zeitgleich Übung in Methods of Cloud Computing, bitte selbständig mit KommilitonInnen gegenseitige Vertretung koordinieren) |
|
Mi, 12.12. | AP | Memory Management |
Do, 13.12. | AP | Memory Management |
Mi, 19.12. | AP | Interrupts |
Do, 20.12. | advanced TrainLab @ Living Lab | |
Mi, 26.12. | akademische Weihnachtsferien | |
Do, 27.12. | akademische Weihnachtsferien | |
Mi, 03.01. | akademische Weihnachtsferien | |
Do, 04.01. | akademische Weihnachtsferien | |
Mi, 09.01. | AP | Echtzeitkommunikation |
Do, 10.01. | Übungsbetrieb, selbstständig; Treffen nach Vereinbarung
(Zeitgleich Übung in Methods of Cloud Computing, bitte selbständig mit KommilitonInnen gegenseitige Vertretung koordinieren) |
|
Mi, 16.01. | AP |
Uhrensynchronisation
Feldbusse |
Do, 17.01. | Übungsbetrieb, selbstständig; Treffen nach Vereinbarung | |
Mi, 23.01. | AP | Echtzeitprogrammierung mit Ada |
Do, 24.01. | Übungsbetrieb, selbstständig; Treffen nach Vereinbarung | |
Mi, 30.01. | AP | Echtzeitprogrammierung mit RT-Java |
Do, 31.01. |
(Zeitgleich Übung in Methods of Cloud Computing,
bitte selbständig mit KommilitonInnen gegenseitige Vertretung koordinieren) |
|
Mi, 06.02. | LP | Echtzeit mit Linux |
Do, 07.02. | Übungsbetrieb, selbstständig; Treffen nach Vereinbarung | |
Di, 12.02. | Endpräsentation Smart Noise Investigator (Projekt mit ZF Friedrichshafen) | |
Mi, 27.02. | alle |
Endpräsentation
Carrera Safety Car (PDF, PPTX) RIOTA – IOTA auf RIOT-OS |
Leistungserfassung
Die Endnote wird in einer abschließenden mündlichen Prüfung ermittelt. Voraussetzung für die Zulassung zur Prüfung ist die regelmäßige Lösung der Aufgaben im Praktikum und der Übung.
Die Prüfungen finden nach Vereinbarung voraussichtlich am 27. März 2019 statt.
Ideen für Projekte
- Charakterisierung von Fahrzeug-Akustik auf mobilen Endgeräten
- Kooperation mit ZF
- Signal vom Handy-Mikrofon aufnehmen
- Geschwindigkeit aus Fahrzeug auslesen (OBD via Bluetooth)
- diverse Auswertungen in Echtzeit
- z.B. Lautstärke, Frequenzgang (FFT), Lautheit
- Speichern, erneutes "Abspielen" der gespeicherten Messung
- etc.
- Carrera Autorennbahn D132
- selbstfahrendes Auto via Arduino/Microcontroller/etc.
- Platooning
- Kommunikation über das Digitalprotokoll (viele Informationen auf slotbaer.de)
- semiautonomes Fahren (z.B. Steuerung nur in Grenzen zulassen)
- Beeinflussung der anderen Fahrzeuge
- Märklin
- einen Rückkanal (Lok → Zentrale) im MFX-Protokoll ergänzen
- Entwicklungs-Boards
(siehe Hardware-Pool)
in Interaktion
- via drahtlosem Netzwerk
- optisch
- akustisch
- …
- Eingebettete Betriebssysteme
(z.B. RIOT-OS, Brillo, Contiki, Ubuntu Core, TinyOS)
- Benchmark-Tests (Continuous Benchmarking)
- Hardware-Unterstützung ergänzen
- Defekte (mit Bezug zur Vorlesung) beheben (z.B. bzgl. Scheduling)
- Vergleich zu anderen eingebetteten Betriebssystemen
- Rail2X
- IEEE 802.11p
- Netzwerk-Protokolle und Middleware für weit verteilte, meist partitionierte Systeme mit Ressourceneinschränkungen
- Store-And-Forward-Architekturen
- Vergleich und ggf. Angleich von Simulationen in ns-3 und Experimenten/Messungen im IoT-Lab
- programmierbares "Hau den Lukas" – ein Echtzeitproblem
- Firmware-Programmierung für Lego Mindstorms NXT & EV3
- Beckhoff-Industrieautomatisierung