Universitaet Koblenz-Landau

Universitaet Koblenz-Landau IST Logo
   

Vorlesung Echtzeitsysteme
WS 1998/1999

Prof. Dr. Dieter Zöbel

[ Übersicht | Personen | Projekte | Literatur | Studien- und Diplomarbeiten | Lehre ]


Übersicht zur Vorlesung

Echtzeitsysteme

WS'98/99

27.10.98

1. Einführung

1.1 Grundmodell eines Echtzeitsystems / DIN 44300 / Grundmodell eines Echtzeitsystems / Charakteristische Echtzeitbedingung / Determiniertheit und Vorhersagbarkeit / 1.2 Prozesse / Prozesse als Abstraktionsobjekt / Grundmodell mit Prozessen / Bsp.: Maus- und Cursorbewegung
3.11.98 1.3 Zeiten / physikalische Zeit, logische Zeit und Echtzeit / Definition von Echtzeit / Erzeugung von Zeitwerten für Rechner / Fehlerquellen: Drift und Rasterung / Quantifizierung der Fehler auf der Basis der Bezugszeitspanne / Anomalie der Echtzeit

2. Echtzeitplanung

2.1 Grundlagen der Echtzeitplanung / Prozessmodell / unterbrechbare und nicht unterbrechbare Prozesse / Kategorisierung des Prozessbegriffs in Prozesstyp, Prozessobjekt und Prozessausführung / Prozessbeschreibende Größen: Bereitzeit, Ausführungszeit, Frist, Startzeit und Abschlusszeit
6.11.98 Vertretung durch Herrn Dipl.-Inform D. Polock: Betrachtungen zur Zeit / relative Genauigkeit und absolute Genauigkeit
10.11.98 periodische, aperiodische und sporadische Prozesse / Fristen bei periodischen Prozessen / Prozesse mit Altersanforderungen / Plan als Abbildung der (diskreten) Zeit auf eine Menge von Prozessen / Phasen der Planung / statisches und dynamisches Planen / Brauchbarkeit von Plänen / optimale Planungsverfahren / 2.2 Planen durch Suchen / Verfahren zur Suche der frühestmöglichen Lücke bei nicht unterbrechbaren Prozessen
13.11.98 Nachweis der NP-Vollständigkeit der Entscheidung, ob eine Menge nicht unterbrechbarer Prozesse brauchbar verplanbar ist, durch Reduktion auf das 3-PARTITION Problem / 2.3 Planen nach Fristen / Strategie EDF (earliest deadline first)
17.11.98 Verfahren zum Planen nach Fristen bei nicht unterbrechbaren Prozessen / Beispiel für die Nicht-Optimalität des Verfahrens zum Planen nach Fristen bei nicht unterbrechbaren Prozessen / Nachweis der Optimalität des Verfahrens zum Planen nach Fristen bei unterbrechbaren Prozessen mit gleichen Bereitzeiten / Verfahren zum Planen nach Fristen bei unterbrechbaren Prozessen
20.11.98

Einweihungsfeier "Campus Metternich"

24.11.98 Beweis der Optimalität des Verfahrens zum Planen nach Fristen bei unterbrechbaren Prozessen / Beispiel für das Planen nach Fristen bei unterbrechbaren Prozessen / Planen nach Fristen bei unterbrechbaren, periodischen Prozessen / Definition der Auslastung U / Beispiel für das Planen nach Fristen bei unterbrechbaren, periodischen Prozessen / Beweis, dass es beim Planen nach Fristen bei unterbrechbaren, periodischen Prozessen nur dann Fristüberschreitungen geben kann, wenn vorher keine Planungslücken existieren
27.11.98 Beweis, dass periodische unterbrechbare Prozesse immer dann brauchbar verplant werden können, wenn die Auslastung kleiner oder gleich 1 ist / 2.4. Planen nach Spielräumen / Definition von Spielräumen bei nicht unterbrechbaren Prozessen und unterbrechbaren Prozessen / Beispiele zum Planen nach Spielräumen / 2.5. Planen nach monotonen Raten
1.12.98 Prioritätszuordnung bei monotonen Raten / Definition des kritischen Zeitpunktes bzw. des kritischen Intervalls / Beweis, dass immer dann ein kritisches Intervall beginnt, wenn alle Bereitzeiten zusammenfallen / Beweis der Optimalität des Planens nach monotonen Raten unter allen festen Prioritätszuordnungen / Beispiel für eine nicht brauchbar einplanbare zweielementige Prozessmenge mit einer Auslastung deutlich unter 1
4.12.98 Beweis, dass ein Prozess beim Planen nach monotonen Raten brauchbar einplanbar ist, wenn es gelingt, ihn zum kritischen Zeitpunkt einmal einzuplanen / Beweis der kleinsten oberen Schranke für die Brauchbarkeit von zwei Prozessen beim Planen nach monotonen Raten
8.12.98 kleinste obere Schranke für die Brauchbarkeit von n Prozessen beim Planen nach monotonen Raten / Grenzwert für die kleinste obere Schranke bei n gegen unendlich / Nutzen der Sätze von Liu und Layland / 2.? Bewertung der Scheduling / Einordnung des Scheduling unterbrechbarer Prozesse nach statischen und dynamischen Prioritäten / ereignisgetriebene und zeitgetriebene Prozessausführung / Probleme bei der Bestimmung von Ausführungszeiten
11.12.98

3. Synchronisierung priorisierter Prozesse

/ 3.1 Notwendigkeit zur Synchronisierung / explizite und implizite Synchronisierung / Einschub: zyklische Einplanung mit impliziter Synchronisierung / äußerer und innerer Zyklus / Beispiel einer zyklischen Einplanung und Generierung eines entsprechenden Ada-Programms / Gegenüberstellung der zyklischen Einplanung und der Planung nach monotonen Raten / explizite Synchronisierung von kritischen Gebieten mit den Operationen E(cs) und L(cs) für das Betreten und Verlassen eines kritischen Gebietes cs / Prozesszustände bereit (rechenbereit, rechnend), blockiert wegen cs, schlafend
15.12.98 3.2 Das Phänomen der Prioritätsumkehr / Schema der Prioritätsumkehr basierend auf drei unterschiedlich priorisierten Prozessen l,m,h / Konflikt zwischen der Synchronisierung und der Priorität von Prozessen / Vorrangregel: die Synchronisierungsbeziehungen dominieren die Prioritätsbeziehungen / Suche nach einer Form von Echtzeitbedingungen, mit denen der Enwickler von Echtzeitsystemen rechnen möchte / Beispiel für die Prioritätsumkehr, die diese Echtzeitbedingungen verletzt / Idee der Vererbung von Prioritäten, um die gefundene Form von Echtzeitbedingungen zu retten
5.1.99 Einschub: StateCharts zur Verhaltensmodellierung / Hierarchische Graphen / Orthogonale Komponenten / Zustandsübergänge / interne und externe Ereignisse / Beispiele zur Zusammenfassung von Zuständen und zur Nebenläufigkeit / Schaltregel bei Ereignissen / Vergleich von StateCharts und UML State Diagrams
8.1.99 Übungsstunde zum Thema StateCharts von David Polock: Modellierung der Funktionsweise eines CD-Spielers / Modellierung der Prozesszustände mit einem Zustandsdiagramm und mit verschiedenen StateCharts / Beweis, dass es immer nur einen rechnenden Prozess geben kann
12.1.99 3.3 Prioritätsvererbung / Architekturmodell für die Ausführung paralleler Prozesse mit kritischen Gebieten / das Gesamtsystem bestehend aus einer Menge paralleler Prozesse und einem Scheduler als StateChart aufgebaut aus orthogonalen Komponenten / die Ereignisse, die bei Prozessen auftreten können / die StateChart für Prozesse / die Relationen OWNER und BLOCK / die StateChart für den Scheduler
15.1.99 Schema der Prioritätsvererbung im Zeitdiagramm / Fehler im ursprünglichen Protokoll zur Prioritätsvererbung / Berechnung der Prozessmenge bb(p), die durch einen Prozess p blockiert wird. / Berechnung der aktuellen Priorität actprio(i) / Beweis, dass durch das Protokoll zur Prioritätsvererbung nur maximal ein Prozess Besitzer eines kritischen Gebietes sein kann / Beweis, dass durch das Protokoll zur Prioritätsvererbung nur genau ein Prozess im Zustand rechnend sein kann / Beweis, dass durch das Protokoll zur Prioritätsvererbung die Relation BLOCK einen Wald bildet
22.1.99 Invariante für die Echtzeitbedingung / Beweis der Invarianten / Beispiel für die Gültigkeit der Invarianten / Beweis der Erhaltung der Invarianten unter Anwendung der Operationen aus der StateChart / Beispiel für eine verbleibende Unschärfe im Protokoll der Prioritätsvererbung
25.1.99 Grundideen des Protokolls zur Prioritätsvererbung (PIP) im Vergleich zum Protokoll der Prioritätsobergrenze (PCP) / Kategorisierung von Echtzeitbetriebssystemen und Laufzeitsystemen für Echtzeitprogrammiersprachen bzgl. PIP und PCP / Fallbeispiel Solaris, Prioritäten der Threads, Ablaufschema, Mehrprozessorscheduling / 3.4 Prioritätsobergrenzen / Idee und Formalisierung der Prioritätsobergrenze actceil(i) / Regeln zum Protokoll der Prioritätsobergrenzen
29.1.99 Beispiel zum Protokoll der Prioritätsobergrenzen / Definition der Relationen OWNER und BLOCK / Definition von bb(p) der durch p blockierten Prozesse / Beweis, dass es keine transitiven Blockaden geben kann / Echtzeitbedingung beim Protokoll der Prioritätsobergrenzen / Zustandsdiagramm für den Scheduler
1.2.99

6. Programmierung

6.1 Die Evolution der Programmiersprachen / Abstrakionskonzepte von imperativen Programmiersprachen / 6.2 Echtzeitprogrammiersprachen / Genealogie der wichtigsten Programmiersprachen / Eignung von Java für die Entwicklung von Echtzeitsystemen / PERC's Java Virtual Machine / Konzepte der Echtzeitprogrammiersprache PEARL / Zustandsmodell für Tasks in PEARL
5.2.99 zeitgesteuerte und ereignisgesteuerte Einplanung von Tasks in PEARL / die Datentypen CLOCK und DURATION / Beispiele für die zeitgesteuerte Einplanung in PEARL / Unterbrechungsbehandlung und deren Einbettung in PEARL / Beispiel eines Nothalt-Mechanismus in RTSA und in PEARL / StateChart für die Zustandsübergänge einer Task in PEARL
8.2.99 Projektspezifische Entscheidung für ein Echtzeitbetriebssystem / Fallbeispiel: Das Echtzeitbetriebssystem QNX / Komponenten von QNX: Interprozesskommunikation, Scheduler, Unterbrechungsbehandlung, Netzwerk-Schnittstelle / Kommunikationsprimitive in QNX / StateChart zu den Operationen Send(), Receive() und Reply()
12.2.99 Bedeutung von "proxy"-Prozessen / Simulation asynchroner Nachrichtenübertragung mit synchroner Nachrichtenübertragung / Prozesse un Objekte: eine Gegenüberstellung der Prozesserzeugung bei leichtgewichtigen und schwergewichtigen Prozessen / Fallbeispiel: Rückwärtsfahren eines Fahrzeugs / RTSA-Kontextdiagramm
19.2.99 Verfeinerung des Kontextdiagramms / unterschiedliche Denkansätze der ereignisgesteuerten Programmierung und der zeitgesteuerten Programmierung / periodische Aktivierung eines Prozesses unter QNX / Schließen der Lücke zwischen Anforderungsanalyse und Programmierung / Bedeutung der Entwurfsphase, insbesondere für Echtzeitsysteme / Beispiele für den Übergang von der Anforderungsanalyse in die Programmierung / kanonischer Übergang von RTSA-Fragmenten in periodische priorisierte Prozesse unter QNX / Prioritätsvererbung unter QNX


Editor: David Polock
Letzte Änderung: 24.03.99

IST - Arbeitsgruppe Zöbel - Lehre
IST - Arbeitsgruppe Zöbel - Betriebssysteme II IST - Arbeitsgruppe Zöbel - Proseminar C
Ansprechpartner (Email, Telefon)
Dokumentenbestand dieses Servers durchsuchen
Informationen und Hilfe zu diesem Server