Eingebettete Betriebssysteme (2015)
Prof. Dr. Andreas Polze
Andreas Grapentin
Max Plauth
Daniel Richter
Im Wintersemester 2015/2016 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” als Fallstudie für den Einsatz von eingebetteten Betriebssystemen vergestellt werden. Die Steuerung des Experimente wird anhand verschiedener Lösungsstrategien und Verwendung unterschiedlicher Betriebssysteme erläutert und in Übungen und Praktika vertieft.
Ein Schwerpunkt der Praktika liegen in diesem Semester bei Betriebssystemen für eingebettete Systeme. Die Praktikumsaufgaben werden im Rahmen der Vorlesung erläutert und decken u.a. folgende Bereiche ab:
- Verteilte Echtzeitsysteme - die Carrera D132 Autorennbahn
- Echtzeitsteuerung - Hau den Lukas
- Beckhoff-Industrieautomatisierung
- App-Programmierung iOS, Android, Windows Phone
- Firmware-Programmierung für Lego Mindstorms NXT & EV3
- Firmware-Programmierung für Arduino Uno/Nano und Intel Edison
Termine
Prüfungen
Ablauf - Vorlesungsunterlagen
Projektarbeit - Gruppen & Themen
1 | Erweiterte Reglerplatine für Carrera [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Jan Philipp Sachse, Leander Neiß | |
2 | RT-fähiger Scheduler für NinjaStorms (EV3) [Konzept] [Zwischenpräsentation] [Endpräsentation] [Code] |
Carsten Walther, Christian Werling | |
3 | Selfdriving Carrera Cars [Konzept] [Zwischenpräsentation] [Endpräsentation] [Code & Videos] |
Christian Dullweber, Moritz Eyssen | |
4 | Gestengesteuerte Arduinos [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Clemens Frahnow, Friedrich Horschig | |
5 | Dezentrale Bahnsteuerung mit Märklin [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Adrian Holfter, Lukas Wenzel | |
6 | Pathfinding und Echtzeitkommunikation in einer labyrinth-ähnlichen Umgebung [Konzept] [Zwischenpräsentation] [Endpräsentation] [Video] [Video] |
Tim Naumann, Jan Selke | |
7 | Teensy-Synthesizer [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Carolin Fiedler, Sven Knebel | |
8 | Hp1 [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Martin Zabel, Jan Graichen | |
9 | Hau-den-Lukas mit Arduino [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Johannes Linke, David Schumann |
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.