Eingebettete Betriebssysteme (2013)
Prof. Dr. Andreas Polze
Dr. Uwe Hentschel
Frank Feinbube, M.Sc.
Daniel Richter, M.Sc.
Im Wintersemester 2013/2014 findet eine Vorlesung zum Thema "Betriebssysteme for Embedded Computing" 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 EV3
Termin:
Die abschließenden Vorträge zu den studentischen Projekten finden am 05.02. und 06.02. statt.
Ablauf - Vorlesungsunterlagen
Mi, 16.10. | Überblick Programmierung eingebetteter Systeme |
Do, 17.10. | Klausurtagung Forschungskolleg, keine Vorlesung |
Mi, 23.10. | Performance-Maße für eingebettete Echtzeitsysteme |
Do, 24.10. | Institutskolloquium: Intel, Non-Volatile Memory |
Mi, 30.10. | Das "Hau den Lukas"-Experiment Das "Carrera"-Experiment Das "LEGO Mindstorms EV3"-Experiment |
Do, 31.10. | Reformationstag - keine Vorlesung |
Mi, 6.11. | Computers as Components - eine Sicht auf
Software-Hardware-CoDesign |
Do, 7.11. | DCC Model Train Case Study |
Mi, 13.11. | Vorhersage der Programmlaufzeit - Probleme |
Do, 14.11. | Diskussion studentischer Projekte |
Mi, 20.11. | Task Assignment & Scheduling |
Do, 21.11. | Beckhoff Industrieautomatisierung - Vortrag Dr. Andreas Rasche |
Mi, 27.11. | Implementing Applications for Embedded Systems |
Do, 28.11. | Rechnerarchitektur - ARM |
Do, 5.12. | Speicherverwaltung |
Do, 12.12. | Interrupt und Exceptions |
Mi, 18.12. | Uhrensynchronisation |
Do, 19.12. | Zwischenpräsentation studentischer Projekte |
Mi, 08.01. | Protokolle zur Echtzeitkommunikation |
Do, 09.01. | Feldbusse - CAN, ByteFlight (Foliensatz von Prof. M. Werner, TU Chemnitz) Feldbusse - Flexray |
Mi, 15.01. | Echtzeitprogrammierung mit Ada |
Do, 16.01. | Die Realtime Specification for Java (RTSJ) |
Mi, 22.01. | Realtime with Windows CE |
Do, 23.01. | Disputation, keine Vorlesung |
Mi, 29.01. | Realtime Linux Overview |
Do, 30.01. | The eCos operating system Standards for Embbeded Operating Systems |
Mi, 05.02. | Endpräsentation studentischer Projekte (Gruppe 1-6) |
Do, 06.02. | Endpräsentation studentischer Projekte (Gruppe 7-11) |
Projektarbeit - Gruppen & Themen
1 | RT Linux auf Lego EV3 [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Eric Seckler, Patrick Rein, Toni Mattis, Johannes Henning | |
2 | Mimicry for LEGO Robots [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Hubert Hesse, Christoph Matthies, Lukas Pirl, Kerstin Günther, Alexander Franke | |
3 | Märklin Digital mit FPGA [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Franz Liedke, Cornelius Bock | |
4 | Carrera Echtzeitsteuerung [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Robin Jörke, Martin Fritzsche, Angelo Haller, Max Bothe, Jan Koßmann | |
5 | Embedded OS on a Atmel [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Patrick Lühne, Christoph Sterz, Marius Knaust | |
6 | Mindstorm Realtime Webserver [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Nils Kenneweg, Alexander Teibrich, Sebastian Stamm, Jens Hildebrandt, Maria Graber | |
7 | Carrera Autopilot [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Daniel Roeder, Johannes Eschrig, Christian Würz, Claus Steuer, Daniel Gimbatschki, Jan Ole Vollmer | |
8 | Beckhoff Intelligentes Haus [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Jan-Peer Rudolph, Jannik Marten, Michael Hopstock | |
9 | Märklin Güterbahnhof-Steuerung [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Kai Fabian, Manuel Hegner, Tobias Rohloff, Daniel Stelter-Gliese, Christian Zöllner | |
10 | Beckhoff Automation - TwinCAT [Konzept] [Zwischenpräsentation] [Endpräsentation] |
Dominic Petrick, Marcel Pursche, Hannes Würfel, Julian Neuhaus, Matthias Bastian | |
11 | Simple Real-Time Operating Sytem for Mindstorms EV3 [Konzept] [Zwischenpräsentation] [Endpräsentation] [GitHub-Repository] |
Andreas Grapentin, Dimitri Korsch, Nicco Kunzmann, Kirstin Heidler, Rakesh Kumar Sah |
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.
Als Zeitraum für die Prüfungen wird die Woche vom 17.02.2014 bis 21.02.2014 angestrebt. Die mündlichen Prüfungen finden jeweils in Zweiergruppen statt, wobei die beiden zu Prüfenden nicht aus der gleichen Projektgruppe stammen dürfen. Einschreibelisten für konkrete Prüfungstermine liegen bei Sabine Wagner (C-1.8) aus.