|
Echtzeitsysteme-V+EÜ (EZS-VEU)7.5 ECTS (englische Bezeichnung: Real-Time Systems L+EE)
Modulverantwortliche/r: Peter Ulbrich Lehrende:
Peter Ulbrich
Studienfächer/Prüfungsordnungsmodule:
Einfrieren der UnivIS-Modul-Beschreibung: 16.8.2018
Vertiefungsrichtung Verteilte Systeme und Betriebssysteme (30510)
Vertiefungsrichtung Verteilte Systeme und Betriebssysteme (33606)
Wahlpflichtmodul aus INF im Schwerpunkt Eingebettete Systeme (36933)
Wahlpflichtmodul aus INF im Schwerpunkt Multimediasysteme (36936)
Wahlpflichtmodul aus INF im Schwerpunkt Realisierung von Informations- und Kommunikationssystemen (36937)
1 Regelungstechnik (40958)
6 Eingebettete Systeme (41001)
1 Regelungstechnik (41358)
6 Eingebettete Systeme (41363)
Wahlpflichtmodul aus INF im Schwerpunkt Eingebettete Systeme (87844)
Wahlpflichtmodul aus INF im Schwerpunkt Multimediasysteme (87852)
Startsemester: |
WS 2018/2019 | Dauer: |
1 Semester | Turnus: |
jährlich (WS) |
Präsenzzeit: |
90 Std. | Eigenstudium: |
135 Std. | Sprache: |
Deutsch |
Lehrveranstaltungen:
-
-
Echtzeitsysteme
(Vorlesung, 2 SWS, Peter Ulbrich, Do, 14:15 - 15:45, H4, (außer Do 29.11.2018); Einzeltermin am 29.11.2018, 14:15 - 15:54, H5)
-
Erweiterte Übungen zu Echtzeitsysteme
(Übung, 4 SWS, Florian Schmaus et al., Veranstaltung findet zusammen "Übungen zu Echtzeitssysteme" statt.)
-
Rechnerübungen zu Echtzeitsysteme
(Übung, Peter Ulbrich)
Inhalt:
Videobearbeitung in Echtzeit, Echtzeitstrategiespiel, echtzeitfähig - der Begriff Echtzeit ist wohl einer der am meisten strapazierten Begriffe der Informatik und wird in den verschiedensten Zusammenhängen benutzt. Diese Vorlesung beschäftigt sich mit dem Begriff Echtzeit aus der Sicht von Betriebssystemen - was versteht man eigentlich unter dem Begriff Echtzeit im Betriebssystemumfeld, wo und warum setzt man sog. Echtzeitbetriebssysteme ein und was zeichnet solche Echtzeitbetriebssysteme aus?
In dieser Vorlesung geht es darum, die oben genannten Fragen zu beantworten, indem die grundlegenden Techniken und Mechanismen vermittelt werden, die man im Betriebssystemumfeld verwendet, um Echtzeitsysteme und Echtzeitbetriebssysteme zu realisieren. Im Rahmen dieser Vorlesung werden unter anderem folgende Themen behandelt:
zeitgesteuerte und ereignisgesteuerte Systeme
statische und dynamische Ablaufplanungsverfahren
Fadensynchronisation in Echtzeitbetriebssystemen
Behandlung von periodischen und nicht-periodischen Ereignissen
In den begleitenden Übungen werden die in der Vorlesung vorgestellten Techniken bei der Entwicklung eines kleinen Echtzeitsystems praktisch umgesetzt.
Lernziele und Kompetenzen:
Studierende, die das Modul erfolgreich abgeschlossen haben:
unterscheiden die verschiedenen Komponenten eines Echtzeitsystems.
bewerten die Verbindlichkeiten von Terminvorgaben (weich, fest, hart).
erläutern die Zusammensetzung des Laufzeitverhaltes einer Echtzeitanwendung.
klassifizieren die Berührungspunkte zwischen physikalischem Objekt und kontrollierendem Echtzeitsystem.
interpretieren die Zeitparameter des durch das Echtzeitrechensystem zu kontrollierenden Objekts.
nennen die Zeitparameter des zugrundeliegenden Rechensystems (Unterbrechungslatenz, Ausführungszeit, ...).
unterscheiden synchrone und asynchrone Programmunterbrechung (insbesondere Trap/Interrupt, Ausnahmebehandlung und Zustandssicherung).
skizzieren die Verwaltungsgemeinkosten des schlimmsten Falls.
entwickeln in der Programmiersprache C und wenden die GNU Werkzeugkette für den ARM Cortex M4 an.
erstellen Echtzeitanwendungen auf Basis der eCos OS-Schnittstelle
ordnen die Strukturelemente von Echtzeitanwendungen zu: Aufgabe, Arbeitsauftrag und Faden.
erläutern die Implikationen von zeitlichem Mehrfachbetrieb auf die Verwaltungsgemeinkosten.
unterscheiden die Umsetzungsalternativen zur Ablaufsteuerung und die Trennung der Belange in Einplanung (Strategie) und Einlastung (Mechanismus).
benennen die grundsätzliche Verfahren der Ablaufsteuerung (taktgesteuert, reihum, vorranggesteuert).
erklären die grundlegenden Zeitparameter einer Aufgabe (Auslösezeitpunkt, Termin, Antwortzeit, Latenz, Ausführungszeit, Schlupfzeit).
unterscheiden die Grundlagen der Planbarkeit (gültig vs. zulässig, Optimalität von Einplanungsalgorithmen).
beschreiben den Unterschied zwischen konstruktiver und analytischer Einhaltung von Terminen-.
vergleich die Möglichkeiten (statisch, dynamisch) der zeitliche Analyse von Echtzeitanwendungen.
erklären die Grundlagen und Beschränkungen von dynamischer (worst-case?) und statischer WCET-Analyse (makroskopisch und mikroskopisch).
illustrieren Lösungsverfahren zur Bestimmung des längsten Ausführungspfads (Timing Schema, IPET).
erstellen Zeitmessung mittels Zeitgeber / Oszilloskop und bestimmen den längsten Pfad durch Code-Review.
erproben und konzipieren werkzeuggestützte WCET-Analyse mittels des absint aiT Analysewerkzeugs.
Entwickeln und annotieren Flußrestrikionen für die statische WCET-Analyse.
beschreiben die Grundlagen der Abfertigung periodischer Echtzeitsysteme (Periode, Phase, Hyperperiode).
skizzieren das periodische Modell und dessen Folgen (Entwicklungskomfort vs. Analysierbarkeit).
erklären die ereignisgesteuerte Ausführung (feste und dynamische Priorität, Verdrängbarkeit) mittels ereignisorienterter Planer (Berechnungskomplexität, MLQ-Scheduler, O(1)-Scheduler).
unterscheiden die zeitgesteuerte Ausführung (Busy Loop, Ablaufplan)und die Abfertigung von Arbeitsaufträgen im Abfrage- bzw. Unterbrecherbetrieb.
wenden die Grundlagen der ereignisgesteuerten Ablaufplanung periodischer Echtzeitsysteme an.
unterscheiden Verfahren zur statischen (RM, DM) und dynamischen Prioritätsvergabe (EDF, LRT, LST).
nennen den Unterschied zwischen Anwendungs- und Systemebene (Mehrdeutigkeit von Prioritäten).
erläutern den Optimalitätsnachweis des RM-, DM- und EDF-Algorithmus und dessen Ausnahmen.
beschreiben grundlegende Verfahren zur Planbarkeitsanalyse (CPU-Auslastung, Antwortzeitanalyse).
implementieren komplexe Aufgabensysteme in eCos.
unterscheiden die Grundlagen der zeitgesteuerten Ablaufplanung periodischer Echtzeitsysteme.
erstellen regelmäßige, zyklische Ablaufpläne (cyclic executive model, Rahmen).
vergleich Methoden der manuellen und algorithmischen Ablaufplanung.
unterscheiden optimale von heuristischen Verfahren (List Scheduling, Branch & Bound).
diskutieren die Konsequenzen eines Betriebswechsels in Echtzeitsystemen.
erstellen takt- beziehungsweise ereignisgesteuerte Abläufe in eCos beziehungsweise tt-eCos.
entwickeln ein softwarebasiertes Oszilloskop und erstellen dessen zeitliche Analyse und Ablaufplanung.
klassifizieren die Grundlagen der Abfertigung nicht-periodischer Echtzeitsysteme (minimale Zwischenankunftszeit).
definieren die Verbindlichkeiten von nicht-periodischen Aufgaben (aperiodisch, sporadisch)
zeigen die sich ergebenden Restriktionen des periodischen Modells (Mischbetrieb, Prioritätswarteschlangen, Übernahmeprüfung) auf.
beschreiben die Basistechniken des Laufzeitsystems (Zusteller, Unterbrecherbetrieb, Hintergrundbetrieb).
quantifizieren die Eigenschaften und Auswirkungen auf den periodischen Teil des Echtzeitsystems.
formulieren die Grundlagen des Slack-Stealing.
beschreiben den Einsatz von bandweite-bewahrenden Zustellern.
unterscheiden aufschiebbare Zusteller und Sporadic Server (SpSL und POSIX).
wenden eine Übernahmeprüfung bei sporadischen Aufgaben mittels dichte- oder schlupfbasierten Akzeptanztests an.
arbeiten einen strukturierter Ablaufplan (Rahmen) aus und untersuchen den Einsatz von Slack-Stealing.
ermitteln gerichtete Abhängigkeiten und Rangfolgen in Echtzeitanwendungen (Abhängigkeits- und Aufgabengraph).
stellen Umsetzungsalternativen für Abhängigkeiten einander gegenüber (naiv, implizit, explizit).
beschreiben das Konzept der zeitlichen Domänen und physikalischer bzw. logischer Ereignisse.
übertragen Abhängigkeiten auf das Problem der Ablaufplanung (modifiziere Auslösezeitpunkt/Termin, Phasenversatz).
konzipieren Rangfolge und aperiodische Steuerung in eCos.
implementieren einen aperiodischer Moduswechsel mit Zustandsüberführung in eCos.
gestalten einen Signal-Trigger für das entwickelte softwarebasierten Oszilloskops.
konzipieren explizite Synchronisation mittels Nachrichten in eCos.
wenden die Grundlagen von Wettstreit um Betriebsmitteln, Konkurrenz und Konfliktsituationen (kritische Abschnitte, (un)kontrollierte Prioritätsumkehr) an.
beschreiben echtzeitfähige Synchronisationsprotokolle (NPCS, PI, PCP).
nennen die Vor- und Nachteile der Techniken (transitive Blockung, Verklemmungen).
hinterfragen die Vereinfachung des PCP durch stapelbezogene Grenzprioritäten.
bestimmen die Ablaufplanung unter Berücksichtigung von Blockierungszeiten und Selbstsuspendierung.
implementieren Zugriffskontrolle (NPCS, PI, PCP) in Echtzeitanwendungen mit eCos.
analysieren Blockade für die Zugriffskontrolle in eCos.
erläutern die Anforderungen an verteile Echtzeitsysteme (Komposition, Erweiterbarkeit, Komplexität, Ereignis- vs. Zustandsnachricht).
fassen die Grundlagen von Knoten, Netzwerkschnittstellen und Netzübergängen sowie die Konzepte der expliziten und impliziten Flusskontrolle zusammen.
erschließen sich typische Probleme (zeitliche Analyse, Beobachtbarkeit, Synchronisation, Rangfolge) und Fehlerquellen bei der Programmierung von Echtzeitanwendungen.
können in Gruppen kooperativ und effektiv arbeiten.
können ihre Entwurfs- und Implementierungsentscheidungen kompakt präsentieren und argumentativ vertreten.
reflektieren ihre Entscheidungen kritisch und leiten Alternativen ab.
können offen und konstruktiv mit Schwachpunkten in der Konzeption wie Umsetzung umgehen.
Literatur:
- Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, 1997.
Jane W. S. Liu. Real-Time Systems. Prentice-Hall, Inc., 2000.
Wolfgang Schröder-Preikschat. System-programmierung. Vorlesungsfolien. 2006.
Weitere Informationen:
www: http://www4.informatik.uni-erlangen.de/Lehre/WS18/V_EZS/
Studien-/Prüfungsleistungen:
Echtzeitsysteme mit erweiterten Übungen (Prüfungsnummer: 179490)
(englischer Titel: Real-Time Systems with Extended Exercises)
zugeh. "mein campus"-Prüfung: | - 37152 Verteilte Systeme und Betriebssysteme (7,5 ECTS) (Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 38152 Verteilte Systeme und Betriebssysteme (7,5 ECTS) (Informatik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 17028 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 17228 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 17328 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 49803 Vertiefungsrichtung Regelungstechnik (7,5 ECTS) (Mechatronik (Bachelor of Science) 2009, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 49853 Vertiefungsrichtung Eingebettete Systeme (7,5 ECTS) (Mechatronik (Bachelor of Science) 2009, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 49803 Vertiefungsrichtung Regelungstechnik (7,5 ECTS) (Mechatronik (Master of Science) 2012, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 49853 Vertiefungsrichtung Eingebettete Systeme (7,5 ECTS) (Mechatronik (Master of Science) 2012, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 17028 Wahlpflichtmodul aus INF (7,5 ECTS) (Informations- und Kommunikationstechnik (Master of Science) 2016s, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
- 17228 Wahlpflichtmodul aus INF (7,5 ECTS) (Informations- und Kommunikationstechnik (Master of Science) 2016s, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
|
- Prüfungsleistung, mehrteilige Prüfung, benotet
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
30-minütige mündliche Prüfung über den Stoff der Vorlesung und die erweiterten Übungen.
Teilnahme an den erweiterten Übungen und die erfolgreiche Bearbeitung aller Übungsaufgaben wird hierzu dringend empfohlen!
- Erstablegung: WS 2018/2019, 1. Wdh.: SS 2019
1. Prüfer: | Peter Ulbrich (100360) |
|
![](/img/anew/void.gif) |
![](/img/anew/void.gif) |
|
UnivIS ist ein Produkt der Config eG, Buckenhof |
|
|