Betriebssysteme für Embedded Computing (2003)
Wintersemester 2003/2004Prof. Dr. habil. Andreas Polze, Hasso-Plattner-Institut
Dipl. Inf. Andreas Rasche, Hasso-Plattner-Institut
Im Wintersemester 2003/2004 findet eine Vorlesung zum Thema "Betriebssysteme für eingebettete Systeme" statt. Die Vorlesung richtet sich an Studenten im Masterstudium und ist in den Themenkomplexen "Softwaresystemtechnische Vertiefungsthemen" und "Freie Informatikthemen" angesiedelt. 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 ist Prüfungsvorraussetzung.
Die Verbreitung eingebetteter Systeme stieg in den letzten Jahren rasant. Am Markt existieren weit über 100 Betriebssysteme für diese eingebetteten Systeme, wie Handys, PDAs, Automobile oder Industrieautomaten. In der Vorlesung sollen Konzepte von Betriebssystemen für eingebettete und Echtzeit-Systeme vorgestellt werden und einige ausgewählte im Detail behandelt werden.
Es werden Algorithmen zur Verwaltung von Ressourcen wie Speicher, CPU, Netzwerk vorgestellt, an die durch viele Einschränkungen von eingebetteten Systemen besondere Anforderungen gestellt werden. Aber auch aufkommende Konzepte wie die Konfigurierbarkeit von Betriebssystemen 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 Experiments „Hau den Lukas” wird anhand verschiedener Lösungsstrategien und Verwendung unterschiedlicher Betriebssysteme erläutert.
Das in der Vorlesung erlernte Wissen soll in einem Praktikum vertieft werden. In einer kleinen Gruppe soll dabei ein Problem mit Hilfe von eingebetteten Betriebssystemen gelöst werden.
Termin:
Mittwochs 11:00 – 12:30 Uhr A-1.1
Donnerstags 16:00 – 17:30 Uhr A-1.1 und Praktikum
Inhaltsübersicht:
1. Aufgaben eines Betriebssystems – Optimierungskriterien : Fairness, Durchsatz, Antwortverhalten, Vorhersagbarkeit
2. Verwaltung der Ressource CPU : Echtzeitscheduling RMS,EDF, LSF; Taskmodell + periodische/aperiodische Tasks; Probleme des Echtzeitscheduling: Abhängigkeiten, Priority Inversion, WCET
3. Speicherverwaltung bei Eingebetteten Systemen, Protokolle für konkurierenden Ressourcenzugriff, Real Time Specification for Java
4. Echtzeitkommunikation : Anforderungen an EK; Feldbusse (CAN); Time Triggered Protocol
5. Gruppenkommunikation, Uhrensynchronisation
6. Echtzeitanwendungen
7. Betriebssysteme im Detail:
- Windows CE: Speicherverwaltung, Interruptbehandlung,
Echtzeitfähigkeit
- Besonderheiten von eCos, rtLinux
8. Konfiguration von Betriebssystemen : Windows CE.NET 4.2 Plattform Builder, eCos Configuration Tool,
9. Anwendungsszenario 1 : „Hau den Lukas im Distributed Control Lab” – Steuerung eines Echtzeitexperiments : Interruptbehandlung mit Windows CE, Installable ISRs, HAL Anpassung, Lösung mit eCos
10. Adaptive Anwendungen für Eingebettete Systeme : Anpassung verteilter Anwendungen an Umgebungsbedingungen mittels dynamischer Rekonfiguration.
Unit 1 - Overview
Termin 15.10.2003
Termin 22.10.2003
Unit 2 - Scheduling
Termin 29.10.2003
Unit 3 - Memory Management
Termin 5.11.2003
Termin 6.11.2003
Achtung ! Ausflug zur Humboldt Universität zum Vortrag über den autonomen Hubschrauber MARVIN von Prof. Hommel ( Info )
Unit 4 - Real-Time Communication
Termin 12.11.2003
Termin 19.11.2003
Unit 5 - Group Communication / Clock Synchronisation
Termin 26.11.2003
Unit 6 - Echtzeitprogrammierung mit Ada
Termin 4.12.2003
Unit 7 - Real-Time Java
Termin 10.12.2003
Unit 8 - Operating System Standards
Termin 17.12.2003
Unit 9 - Operating Systems
Termin 7.1.2004
Windows Ce Material based on Windows CE 3.0 - Details about CE.Net will be discussed next
Termin 14.1.2004
- Real-Time and Windows CE
- Windows CE Networking
- Windows CE Remote API
- Windows CE Serial Communication
- Windows CE Device Driver Architecture
Literatur
Termin 21.1.2004
- Embedded Configurable Operating System
- Example 1 : "Hello, World!"
- Example 2 : Thread Synchronisation
- Example 3 : Alarms and Clocks
- Sample Chapter : "Introduction to the eCos World" from A.J.Massa's Book
Termin 4.2.2004
Praktikum
Termin 16.10.2003
Termin 23.10.2003
Termin 5.11.2003
Termin 22.1.2004
- Windows CE.NET Device Driver
- Windows CE.NET Platform Builder
Termin 29.1.2004
Praktikumsthemen:
Werden innerhalb der ersten Vorlesungswochen bekannt gegeben. Eigene Vorschläge für Projekte, die den Umgang mit eingebetteten Betriebssystemen beinhalten, sind möglich.
Leistungserfassung:
Die Endnote wird in einer abschließenden mündlichen
Prüfung ermittelt. Voraussetzung für die Zulassung zur
Prüfung ist das Erreichen von mindestens 50 % der im
Praktikum zu erwerbenden Punkte.
Termine:
Praktikumsvorträge: Mi 28.1.2004 11.00-13.00
- Jede Gruppe hält einen Vortrag von ~ 12 min Länge.
- Dann folgen 3 min Fragen und Diskussion.
- Der Vortrag sollte kurz eingehen auf : Softwarearchitektur, Erfahrungen mit dem eingebetteten Betriebssystem, Messung / Evaluation.
- Die Ausarbeitungen von rund 10 Seiten sind bis spätestens 13.2.2004 abzugeben.
Prüfungstermin: 19.2. 2004 (Ausnahmetermin: 26.2.2003 für alle, die am richtigen Termin nachweisbar eine Prüfung haben !)
Literatur:
(1) Real-Time Systems, Hermann Kopetz, Kluwer Academic Publishers
(2) Real-Time Systems, Jane W.S. Liu
(3) Embedded Software Development with eCos, Anthony J. Massa
(4) Programming Microsoft Windows CE .NET, Third Edition, Douglas Boling
(5) Real-Time Systems C.M. Krishna and G. Shin
(6) Computers as Components - Principles of Embedded Computing System Design, Wayne Wolf