Betriebssysteme für Embedded Computing (2006)

Wintersemester 2006/2007
Embedded OS
Prof. Dr. habil. Andreas Polze
Dipl. Inf. Andreas Rasche
Dipl. Inf. Bernhard Rabe

Im Wintersemester 2006/2007 findet eine Vorlesung zum Thema "Betriebssysteme for Embedded Computing" statt. Die Vorlesung richtet sich an Studenten im Masterstudium und ist in den Themenkomplexen "Softwaresystemtechnische Vertiefungsthemen" und "Freie Informatikthemen" bzw. "Mobile und eingebettete Systeme " 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/Ü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 Experiments „Hau den Lukas” wird anhand verschiedener Lösungsstrategien und Verwendung unterschiedlicher Betriebssysteme erläutert und in Übungen und Praktika vertieft.

Ein Schwerpunkt der Praktika bildet in diesem Semester die Implementierung von Betriebssystemen für eingebettete Systeme. Anhand des Lehrbetriebssystems Minix werden verschiedene Algorithmen zur Ressourcenverwaltung erläutert und in praktischen Übungen vertieft.

Termin:

Mittwoch 9:15 Uhr - 10:45 Uhr, Raum B.E-2
Mittwoch 11:00 Uhr - 12:30 Uhr, Raum B-E.2

Praktikumsthemen/Übungen:

Werden innerhalb der ersten Vorlesungswochen bekannt gegeben. Auf Grund der beschränkten Hardwareressourcen wird das Praktikum in Gruppen von 2-3 durchgeführt. Das Praktikum soll die theoretischen Inhalte der Vorlesung in praktischer Arbeit vertiefen. Am Ende eines Themenkomplexes des Praktikums erfolgt eine kurze Vorstellung der Ergebnisse jeder Gruppe durch einen Vortrag.

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. Zusätzlich soll das am Institut stattfindende Forschungskolloquim mindestens 3 mal im Laufe des Semesters besucht werden.

Ablauf:

18.10. Ablauf, Softwareentwicklung, Performance Maße

25.10. Performance Maße

1.11. Scheduling, Hau-den-Lukas

8.11. Speicherverwaltung, Interrupts & Exceptions

15.11. Echtzeitkommunikation

22.11. Ada

28.11. Programmiersprachen für eingebettete Systeme

6.12. Gruppenkommunikation & Uhrensynchronisation

13.12. Implementierung von Betriebssystemdiensten

20.19. Speicherprogrammierbare Steuerungen

10.1. Betriebssysteme - Windows CE

17.1. Betriebssysteme - Windows CE cont. 

24.1 Betriebssysteme

31.1 Betriebssystemsstandards für Eingebettete Systeme

7.2. Studentische Vorträge zum Lab Assignment 2

  • Jede Gruppe hält einen 15 Minütigen Vortrag über ihre Lösung der Aufgabenstellung.

Inhalt:

1. Embedded Systems Overview
1.1 Developing Embedded Software 2h
1.2 Introduction and Performance Metrics 2h
2. Real-Time Scheduling 2h
3. Memory and Interrupts
3.1 Memory Management 2h
3.2 Interrupt Handling/Exceptions 2h
4. Communication
4.1 Real-Time Communication 2h
4.2 Field Bus Protocols 2h
4.3 Group Communication & Clock Synchronization 2h 
5. Programming Languages
5.1 Ada 2h
5.2 RT Java 4h
5.3 RT .NET 2h
6. Real-Time Operating Systems (RTOS)
6.1 RT Linux 2h
6.2 Windows CE 4h
6.3 eCOS 2h
6.4 SPS 2h 
7. System Dependability 2h
8. Standards for RTOS 2h
9. Experimental Systems
9.1 The Distributed Control Lab 2h
9.2 Beckhoff 2h

Lab Sessions:
- Introduction to the Distributed Control Lab 2h
- The Higher Striker Experiment – Lab Assignment 1 2h
- Self-Contained Assemblies 2h
- Implementing operating system services 4h
- The Minix operating system – Lab Assignment: Integrating EDF into Minix 2h

Praktikum:

  • Erwärmung: Introduction to the Distributed Control Lab

  • Get an account for the DCL (send an e-mail)
  • Set-up a VPN-Connection to the lab
  • Enter the DCL at was.discourse.de
  • Check the DCL-Page for a Visual-Studio DCL-Plug-In
  • Select the Lego Mindstorm Simulator Experiment
  • Study and try the provided sample code
  • Implement an algorithm that "writes" an 8 on the ground

Prüfung:

tba.

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, Morgan Kaufmann Publishers 2001, ISBN 1-55860-693-9
(7) An Embedded Software Primer - David E. Simon, Addison-Wesley 1999, ISBN 0-201-61569-X
(8) Programming Embedded Systems in C and C++ - Michael Barr, O'Reily 1999, ISBN 1-56592-354-5
(9) Real-Time Concepts for Embedded Systems - Qing Li, CMPBooks 2003, ISBN 1-57820-124-1
(10)  Operating Systems Design and Implementation (The Minix Book) - Andrew S. Tannenbaum, Albert S. Woodhull, Prentice Hall, ISBN 0-13-142938-8 

erstellt von Andreas Rasche