Eingebettete Betriebssysteme WS17/18 (2017)

Embedded OS

Prof. Dr. Andreas Polze

Projektbetreuung
Jossekin Beilharz
Andreas Grapentin
Daniel Richter
Max Plauth
Lukas Pirl

Im Wintersemester 2017/2018 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

Prüfungen

  • Termine: 21.-22.2.2018; Liste bei Frau Wagner
  • Es finden mündliche Einzelprüfungen statt (jeweils 30 min).
  • Davon können bis zu 15 Minuten zur Diskussion ausgewählter Aspekte des Projektes verwendet werden.

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.

Themen für Vorträge

LP (JB) Scheduling, Task-Assignment, Performance Measures revisited
SK Memory Management, Demo mit Bezug
YB ARM-Architektur, Pipelining, Demo mit Bezug
MK Echtzeitkommunikation, Uhrensynchronisation, Demo mit Bezug
JB (LP) Echtzeit Betriebssysteme für das Internet der Dinge (FreeRTOS, Contiki, Cooja, RIOT),
Netzwerk-Simulator ns-3
DR SPS
AP Echtzeitprogrammierung mit Ada, Realtime Java

Termine

Donnerstags ab 13:30 Uhr, plus folgende Blocktermine:

Do, 16.11. JB ns-3
Do, 23.11. alle
AP
Vorstellung Ergebnisse von Übung 1 (Carrera/SDR)
Realtime-Linux
Do, 30.11. alle
LP
Vorstellung Ergebnisse von Übung 2 (ns-3)
Feldbusse
Do, 07.12. alle
H. Petersen
Vorstellung Übung 3 (Echtzeit-Betriebssysteme)
RIOT-OS
Fr, 08.12.
 09:30 – 12:30 Uhr
LP (JB)
SK
MK
AP
Scheduling, Task-Assignment
Memory-Management (demo sources)
Echtzeitkommunikation
ARM
Do, 14.12. Uwe Hentschel Steuerung eines modularen Multi-Level Umrichters
Do, 04.01. alle Vorstellung Ergebnisse von Übung 3 (Echtzeit-Betriebssysteme)
Festlegung der Projektthemen
Do, 11.01. AP Echtzeit-Programmierung mit Ada
Fr, 12.01.
 09:30 – 12:30 Uhr
DR
AP
SPS
Realtime Java
Do, 18.01. Projektarbeit
Do, 25.01.
 13-30 – 17:00 Uhr
alle Demos Zwischenstand
Do, 01.02. Projektarbeit
Do, 08.02. Projektarbeit
Mi, 14.02.,
vorauss. 9:15 Uhr
alle Abschlusspräsentationen

Ideen für Projekte

  • Carrera
    • selbstfahrendes Auto via Microcontroller
    • selbstfahrendes Auto via Arduino
  • Märklin
    • einen Rückkanal (Lok → Zentrale) in das MFX-Protokoll einbauen
  • Entwicklungs-Boards in Interaktion
    • via WiFi
    • via Licht
    • via Ton