TU Wien:Echtzeitsysteme VO (Kopetz)/Prüfungsfragen 2005

Aus VoWi
Zur Navigation springen Zur Suche springen

Diese Fragen wurden von Dzelila Sulejmanovic im Informatikforum geposted. Es sind die mündlichen Prüfungsfragen von 2005 die Prof. Kopetz gestellt hat. Ich werde hier versuchen diese soweit wie möglich auszuarbeiten. Hilfe ist natürlich willkommen. Ist ja ein Wiki. :)

Ich werde teilweise Sachen aus der "Ausarbeitung zur VO-Prüfung" von Thomas Kastner/Robert Neureiter/Patric Formann kopieren.


Accuracy def.[Bearbeiten | Quelltext bearbeiten]

Die Abweichung einer Uhr k verglichen mit der Referenzuhr z zu einem bestimmten Tick wird Genauigkeit genannt. Das höchste Abweichung aller Ticks i welche von Bedeutung sind wird die Genauigkeit der Uhr k genannt.

Action delay (ohne globale Zeit)[Bearbeiten | Quelltext bearbeiten]

Die sogenannte Aktionsverzögerung (Action Delay) ist das Intervall zwischen dem Zeitpunkt zu dem eine Nachricht vom Sender abgesendet wurde und dem Zeitpunkt zu dem der Empfänger weiß, dass die Nachricht permanent ist. In verteilten Echtzeitsystemen ohne globale Zeitbasis ist das Maximale Action-Delay:, aber das Problem der Konsistenzreihenfolge ist noch nicht gelöst!

Active Redundancy Components (Cost, fail-silent k+1, fail-consistent 2k+1, Byzantine 3k+1) Buch s. 121[Bearbeiten | Quelltext bearbeiten]

Die Anzahl an benoetigten redudanten Komponenten welche bei Ausfall einer Komponente das vortlaufen des Systems sichern, ist abhaengig von der Art des auftretenden Fehlers. Man unterscheidet hier zwischen consisten failure und inconsistent failure. Bei consisten failure ist der aufgetretende Fehler fuer alle Beobachter ident. Bei inconsitent failurs kann dieser fuer die Beobachter verschieden sein. Inconsistent Failure sind die "teuersten" Fehler, da hier am meissten redudante Komponenten benoetigt werden. Incosistent Failure werden auch two-faced failurs, malicious failures, oder Byzantine failures genannt. Bei den consistent failures kann man weiter fail silent failure und crash failure unterscheiden. Ein fail silent failure bedeutet das die fehlerhafte Komponente nicht mehr ansprechbar ist, also silent. Bei crash failure wuerde der Ausfall einer Komponenten den Absturz des gesammten Systems bedeuten.

Bei k auftetenden fehlerhaften Kompoenten, benoetigt man N redudante idente? Komponenten:

  • fail-silent: k+1
  • fail-consistent: 2k+1
  • fail-malicious/byzantine: 3k+1

Adversary Argument s. 217 oder s.230 unten[Bearbeiten | Quelltext bearbeiten]

Es gibt keinen optimalen dynamic scheduler, wenn zwischen einem periodic und einem sporadic task eine mutal exclusion beziehung vorhanden ist.

ARINC - Buch s. 162[Bearbeiten | Quelltext bearbeiten]

ARINC 629 ist ein mini-slotting Protokoll (media access protocol) oder Transportprotokoll, welches bei Flugzeugen verwendet wird.

Das Timing besteht aus 3 Intervallen:

  • Synchronization gap (TS):
  • Terminal gap (TG): für jeden Knoten verschieden, länger als propagation delay des Kanals
  • Transmission Interval (TI)

Bevor irgend ein Knoten sendern darf muessn alle den TS Zeitraum abwarten. Anschliessend wartet jeder knoten seine persoenliche TG Zeit ab, und falls nach ablaufen dieser Zeit die Leitung undgenuetzt ist, sender er seine daten. Seine maximale sendedauer ist durch TI begrenzt. Knoten deren TG ablaeuft waehrend ein anderen Knoten gerade sendet, warten bis dieser fertig ist, und warten anschliessend erneut ihre TG ab.

Fuer die Zeiten gilt: TI > ( TS > TG )

Typische Werte für einen ARINC 629 Bus bei einer Übertragungsfrequenz von 2MHz: TG usec, TS > TG , TI 0,5-64 msec

Bitweise Arbitration Buch s. 161[Bearbeiten | Quelltext bearbeiten]

Dient zur Prioritaets definition auf Bit Ebene und wird zB. im CAN Protocoll verwendet. Definiert man zB. das eine logische 0 eine hoehere Prioritaet als eine logische 1 besitzt, und laesst man zwei Sender bei einem shared medium gleichzeitig senden, dann gewinnt der Sender welcher eine 0 sendet. Dies kann zur Prioritaets Regelung verwendet werden, indem man die Prioriaet einer Nachricht in den ersten Bits einer Nachricht kodiert.

Byzantinisches Abkommen (byzantine agreement) (Was muss man für ein byzantinisches Abkommen voraussetzen?)[Bearbeiten | Quelltext bearbeiten]

Um f byzantinische Fehler zu tolerieren muss ein Protokoll folgende eigenschaften erfüllen

· Es müssen mindestens 3f+1 Knoten in dem Fault-Tolerant Unit (FTU) sein

· Jeder Knoten muss mit allen anderen Knoten der FTU durch f+1 unzusammenhängende Wege verbunden sein

· Um bösartige Knoten zu erkennen, müssen f+1 Kommunikationszyklen unter den Knoten abgelaufen sein

· Die Knoten müssen mit einer bestimmten Präzision untereinander synchronisiert werden

Byzantinische Fehler (Was macht b. f. in fehlertoleranten Systemen?)[Bearbeiten | Quelltext bearbeiten]

Eine Komponente bei welcher ein Byzantine failure auftritt versendet fehlerhafte Nachrichten welche von unterschiedlichen Empfaengern unterschiedlich ausgewertet werden.

CAN – Buch s. 161, 163 (TTP; TDMA- Vor- und Nachteile)[Bearbeiten | Quelltext bearbeiten]

Das CAN (Control Area Network) ist ein CSMA/CA Protocoll welches sich in Europe als Kommunikations Prokotkoll in Fahrzeugen durchgesetzt hat.

Eine CAN Nachricht besteht aus sechs Feldern wobei das erste Feld den Message Identifier darstellt, das zweite eine Controll Feld ist, und das dritte beliebige Daten enthalten kann. Darauf folgend kommt ein CRC Feld welches eine Checksumme ueber die ersten drei Felder enthaellt, ein A Feld? (Zitat vom Buch: "The fields after the CRC are used for an immediate acknowledgment message."), und noch ein EOF Symbol.

Das intressante an diesem Protkoll ist das bit arbitration im ersten Feld, womit es moeglich ist einer Nachricht auf physikalischer Ebene (Bit Ebene) eine Prioritaet zuzuweisen.

Das TTP Protokoll ist ein hingegen ist ein TDMA protokoll das an der TU-Wien! entwickelt wurde und bei welchem jedem Teilnehmer ein gewissen Zeitslot zugeschsprochen wird in welchem er Senden darf. Dies ist allerdings nur moeglich bei einer globalen time und zugehoerigen synchronisations Mechanismen.

Das TTP Protokoll ist speziell fuer die verwendung in fault-tolerant distributed real-time systems konzipiert. CAN auch?

Central Master Algorithmus (Genauigkeit des CMA?) Buch s. 60[Bearbeiten | Quelltext bearbeiten]

Ein einziger Knoten, der zentrale Master, sendet periodisch seinen Zeitwert in Form von Synchronisationsnachrichten an alle anderen Knoten, die Slave nodes. Sobald ein Slave den neuen Zeitwert vom Master empfangen hat, speichert er den Stand seines lokalen Zeitzählers als Nachrichtenempfangszeit. Die Differenz zwischen der Master-Zeit in der Synchronisationsnachricht und der gespeicherten Empfangszeit, korrigiert um die Verzögerung durch die Übertragung, ist ein Maß für die Abweichung der beiden Uhren. Der Slave korrigiert nun seine Uhr um die errechnete Abweichung, um sie mit der Master-Uhr in Einklang zu bringen. Die Präzision des Central Master Algorithm bekommt man aus der Synchronisationsbedingung: , wobei der latency jitter, d.h. die Zeitdifferenz (Zeitlesen Master bis Empfang Slave) zwischen schnellster und langsamster Übertragung zu einem Slave, ist. Gamma = 2\rho R_{int} und beschreibt das drfiten der lokalen Uhr zwischen den synchronisations Zeiten. Der Nachteil am CMA ist, dass es keine Korrektur bzw. Fehlererkennungs Moeglichkeiten fuer Fehler im zentralen Master gibt.

CSMA/CD (Gibt es in Echtzeitsystemen mit c/c Probleme?)[Bearbeiten | Quelltext bearbeiten]

Carrier Sense Multiple Access / Collision Detection protocoll , zB. Ethernet oder LON verwendet random Wait times um Kollisionen zu vermeiden

Distribute state (sparse time, agreement protokoll)[Bearbeiten | Quelltext bearbeiten]

agreement protokoll: beschreibt wie mehrere Nodes welche ein und das selbe RS-Entity beobachten zu einem gemeinsamen Ergebniss ueber den Wert und auftretende Events finden

Drift Rate (Wie groß ist die d. r. bei typische Uhren (Armbanduhr, PC Uhren)? ) Buch s.49[Bearbeiten | Quelltext bearbeiten]

Beschreibt die Abweichung einer Uhr von einer Referenz Uhr oder ueberhaupt ihre Abweichung, und schwankt bei herkoemmlichen Uhren zwischen 10^-2 bis 10^-7 sec/sec.

Error Detection in to Time Domain: Technique[Bearbeiten | Quelltext bearbeiten]

  • Maximale Abarbeitungszeit von OS- und Anwendungsprozessen überwachen
  • Informationen über regelmäßige Abläufe in TDMA-Zyklus nutzen (nur in TT-Systemen)
  • A priori-Information über Ereignisse zu bekannten Zeitpunkten nutzen

Error Detection in to Value Domain: Technique[Bearbeiten | Quelltext bearbeiten]

  • Plausibilitäts-Checks, z. B.
    • Applikationsspezifische Invarianten
    • Trendanalyse
  • Strukturelle Checks
    • Laufzeit-Assertions
    • Robuste Datenstrukturen
  • Vergleichen mehrerer Berechnungen
    • Zeitliche Redundanz (Berechnung mehrmals hintereinander durchführen)
    • Ressourcenredundanz (Berechnung auf unabhängigen Systemen gleichzeitig durchführen)
    • Verschiedene Software-Versionen (in Kombination mit Zeit- und Ressourcenredundanz)

Failures (Klassifizierung, Buch S. 121)[Bearbeiten | Quelltext bearbeiten]

  • Art
    • Wert: Inkorrekter Wert auf System/User-Interface
    • Timing: Wert liegt außerhalb des vorgegebenen Intervalls vor
  • Wahrnehmung
    • Konsistent: Alle sehen das gleiche (falsche) Ergebnis
    • Inkonsistent: Verschiedene Beteiligte sehen verschiedene Ergebnisse
  • Effekt
    • Gutartig: Voller Nutzen des System eingeschränkt
    • Bösartig: Katastrophen können aus Fehler resultieren (zB Flugzeugabsturz)
  • Häufigkeit
    • Permanent: System bis Reparatur nicht einsatzfähig
    • Transient: System funktioniert nach Auftreten des Fehlers weiter

Fault Tolerant Average Buch s. 62,63[Bearbeiten | Quelltext bearbeiten]

Ist ein Algorithmus zur clock synchronisation in distributed RS. Die Zeit aller bekannten Systemen wird ermittelt und unter ausschluss von k Elementen (Die Zeiten mit den groessten Differenzen zur local time der Node) wird deren Mittelwert gebildet, und die lokale Zeit nachgestellt.

Die precisison von FTA ist gegeben mit:



Fault/Failure - Ursachen[Bearbeiten | Quelltext bearbeiten]

Ein Failure ist ein Ereignis, dass eine Abweichung zwischen dem aktuellen Service und dem spezifizierten oder beabsichtigten Service (zu einer bestimmten Zeit) bezeichnet. Viele Failures können auf inkorrekte interne Zustände zurückgeführt werden. So ein interner inkorrekter Zustand wird auch als Error bezeichnet. Der Grund für einen Error und damit indirekt für einen Failure ist ein Fault. (Klassifizierung auf den Buchseiten 120 bzw. 124)

Faults - Fehlerursachen( Klassifizierung) Buch s.124[Bearbeiten | Quelltext bearbeiten]

  • Art
    • Zufällig: Natürliche Vorkommnisse
    • Absichtlich: zB Sabotage
  • Wahrnehmung
    • Physikalisch: Durch fehlerhafte Hardware verursacht
    • Design: Durch fehlerhaftes Design verursacht
  • Abgrenzung
    • Intern
    • Extern
  • Ursprung
    • Development: Durch inkorrekte Herstellung des Systems
    • Operation: Durch Bedienerfehler
  • Fortdauer
    • Transient
    • Permanent

Fehlerhypothese (Was ist das, Anzahl, Typ/Art, Annahmen über Unabhängigkeit)[Bearbeiten | Quelltext bearbeiten]

Spezifikation über Anzahl und Typen der Faults die das fehlertolerante System tolerieren soll.

Die „Fault Hypothesis“ unterteilt Faults in 2 Gruppen:

· Level 1 faults: diese werden vom Fehlertoleranzmechanismus toleriert

· Level 2 faults: werden nicht toleriert, dürfen nur selten auftreten. Wenn während des Tests viele solche Fehler auftreten liegt ein Fehler im Design nahe.

Flow Control[Bearbeiten | Quelltext bearbeiten]

Flusskontrolle ( Ziel, synchron Sender-Empfänger, explizit – implizit )[Bearbeiten | Quelltext bearbeiten]

Das Ziel der Flusskontrolle ist, einen Informationsaustausch zwischen zwei Kommunikationspartner so zu kontrollieren, damit der Empfänger nicht überfordert wird. Man unterscheidet zwischen expliziter und impliziter Flusskontrolle.

Explizite Flusskontrolle: Der Sender sendet eine Nachricht an den Empfänger und wartet bis der Empfänger diese bestätigt (Acknowledge). Der Empfänger kann somit den Sender verlangsamen (back pressure flow control). Für die Error-Detection ist der Sender verantwortlich.

Implizite Flusskontrolle: Die maximale send rate wird vorher festgelegt. Communication channel ist unidirectional. Für die Error-Detection ist der Empfänger verantwortlich.

FTA (wie genau kann man mit FTA synchronisieren?)[Bearbeiten | Quelltext bearbeiten]

Die perecision von FTA ist gegeben mit:



Granularität / Präzision (wie hängen sie zusammen?)[Bearbeiten | Quelltext bearbeiten]

Eine Uhr ist ein Gerät das einen Zähler beinhaltet und diesen periodisch nach den bestimmten Gesetzen der Physik (microticks) erhöht. Die Granularität einer Uhr c ist die Zahl der Microticks der Referenzuhr (Dauer) zwischen zwei beliebigen aufeinanderfolgenden Microticks von c.

Offset: gibt den microtick Abstand zwischen zwei Uhren (j, k) an

Die Präzision ist der maximale Offset in einem Verbund von Uhren:

Hidden Channel (Was ist das?)[Bearbeiten | Quelltext bearbeiten]

Versteckte Kanäle (Hidden Channels) bewirken ursächliche (kausale) Beziehungen, welche vom Kommunikationssystem nicht erkannt werden. Als Beispiel könnte man die Verbindung zwischen dem Öffnen eines Ventils und einer Druckänderung am Sensor des kontrollierten Objekts angeben.

h-state (definieren und plaudern, wieso/wie kann ein HW-fault zu falschen H-state führen?)[Bearbeiten | Quelltext bearbeiten]

hierbei handelt es sich um den history state. Der h-state beinhalt alle fuer die momentane Ausfuehrung einer Node wichtigen Informationen. Die Groesse des h-stats variiert mit der Zeit. Sind die abzuarbeitenden Task unabhaengig zu einander und stehen in keiner Beziehung, dann ist der h-stat vor und nach der Abarbeitung leer. Im Normalfall gilt das der h-state mit dem Beginn der Abarbeitung ansteigt, und mit dem herrannahenden Ende abnimmt.

Tritt bei der Ausfuehrung ein transient error auf, welcher den h-state veraendert, und nicht korrigiert wird, dann wird der Fehler ein permanent error (yB. HW error) und verfaelscht auch alle weiteren Ergebnisse (h-state erosion).

Kontrolle – Arten?[Bearbeiten | Quelltext bearbeiten]

Konvergenzfunktion (Was ist das?) Buch s.59[Bearbeiten | Quelltext bearbeiten]

Die convergence function () kommt bei der internen Clock Synchronisierung vor und beschreibt den Offset zwischen zwei Zeitwerten unmittelbar nach der Resynchronisierung.

Lasthypothese (Hochlast, max Ausführungszeit mit Task)[Bearbeiten | Quelltext bearbeiten]

Die load hypothesis sagt: das nur aussagen ueber die response time eines Systems getroffen werden koennen wenn seine Auslastung unter die maximallast (peak load) bleibt.

MFM / NRZ (Vorteile – Nachteile) Buch s.167[Bearbeiten | Quelltext bearbeiten]

Der NRZ (non return to zero code) kodiert jede logische 1 mit einem high und jede logische 0 mit einem low Signal. Er kann durch längeres senden eines signalwertes auch einen "gleichanteil" besitzen. NRZ kann von haus aus nicht zur synchronisation zwischen Sender und Empfaenger verwendet werden, ermoeglicht dies jedoch mittels bit stuffing (das kuenstliche einfuegen von einem flankenwechsel bei langen Ketten von 0en oder 1ern; oder auch durch NRZI)

Der MFM (modified frequenzy modulation) besitzt eine feature size (???) von einer bit cell (die Breite eines einzelnen Bits, kann sowohl ein Zeit oder Ausehnung sein) und kodiert eine logische 1 als einen stat wechsel, und eine logische 0 als einen ruhenden stat. Wenn mehr als zwei logischen 0en uebertragen werden sollen, wird nach der ersten 0, mit dem clock takt der stat gewechselt. Ausserdem kann der Takt des Senders aus dem Signal extrahiert werden, und so zur Synchronisation zwischen Sender und Empfaenger beitragen.

Der Vorteil bei MFM wie auch bei der Manchester codierung liegt in der zusaetzlichen Synchronisation durch die indirekte Uebertragung des Takt Signal, doch dies benoetigt im Gegensatz zum NRZ die doppelte Bandbreite.

Mutual exclusion beim deadline[Bearbeiten | Quelltext bearbeiten]

Nachricht stabilität[Bearbeiten | Quelltext bearbeiten]

OnLine und RT unterschiede[Bearbeiten | Quelltext bearbeiten]

PAR-Protokolle, flow - control, delays der Protokolle (allgemein)[Bearbeiten | Quelltext bearbeiten]

PAR: Sender verschickt eine Nachricht und wartet auf ein acknoledgment des Empfaengers. Kommt dieses nicht verschickt er die Nachricht erneut. Nach einer bestimmen Anzahl an Fehlversuchen ist die Kommunikation gescheitert.

Die flow control liegt beim Empfaenger da dieser dem Sender mitteilen kann wieviele Nachrichten er vertraegt. Das Error handling beim Sender weil nur dieser durch das ausbleiben des acknoledgments einen Fehler bemerkt

Permanente Nachricht (wann ist eine N p.?)[Bearbeiten | Quelltext bearbeiten]

Permanence is a relation between a given message Mi that has arrived at a RT-object O and all messages Mi-1, Mi-2, . . . that have been sent to this object before (in the temporal order) message Mi. The message Mi becomes permanent at object O as soon as all previously sent messages have arrived at O. If actions are taken on non-permanent messages, then an inconsistent behavior may result.

Potential Causality[Bearbeiten | Quelltext bearbeiten]

Wenn 2 Events auftreten, kann man aus der zeitlichen Ordnung nicht unbedingt eine kausale Ordnung ableiten (Person betritt Raum - Telefon klingelt).

Wenn die zeitliche Ordnung zwischen Alarms hergestellt ist, kann man alle definitiv später als der erste Alarm auftretenende Alarme als primären Alarm ausschließen.

Priority Ceiling (Wie funktioniert, hinreichende sched. test für p. c.? Wann Task in c.s.)[Bearbeiten | Quelltext bearbeiten]

Rate Monotonic Algorithm – Formel, Voraussetzungen (Buch S. 231)[Bearbeiten | Quelltext bearbeiten]

Ist ein dynamischer, präemptiver Algorithmus, der auf statischen Task-Prioritäten (kürzere Tasks haben höhere Priorität) basiert.

Voraussetzungen:

  • Alle Tasks sind periodisch
  • Deadline entspricht der Periode
  • Obergrenze der CPU-Zeit ist bekannt
  • Scheduling-Overhead ist vernachlässigbar
  • Tasks sind voneinander unabhängig

  • ... WCET (Worst Execution Time): Maximale CPU-Zeit, die der Prozeß pro Periode brauchen kann
  • ... Periode

Sind die Perioden vielfache voneinander, kann die maximale CPU Auslastung erreicht werden.

Reasonableness Condition ( Wann ist eine Zeit vernünftig? )[Bearbeiten | Quelltext bearbeiten]

Die globale Zeit (=eine einzige Referenzuhr misst die Zeit in einem System) ist annehmbar („reasonable“), wenn alle lokalen Implementierungen der globalen Zeit folgende Bedingung erfüllen (für die globale Granularität g eines Macroticks und Präzision ): , wobei

Diese Bedingung sorgt dafür, dass der Synchronisationsfehler auf weniger als ein Macrogranule (=Dauer zwischen 2 Makroticks) beschränkt ist.

Regelgrößen (Nenne charakteristische R.?)[Bearbeiten | Quelltext bearbeiten]

Regelstrecke, Zeitparameter (was gibt es für Z. für ine R.?)[Bearbeiten | Quelltext bearbeiten]

Replica determinism (was ist das, was (zer)stört ihn?)[Bearbeiten | Quelltext bearbeiten]

Ist eine gewünschte Beziehung zwischen replizierten RT-Objekten. Eine Gruppe von replizierten RT-Objekten ist replica deterministic, wenn alle Mitglieder dieser Gruppe nach außen den selben History-State haben und somit die gleichen Ausgangsnachrichten in den gleichen Zeitabschnitten produzieren.

Replica-Determinismus wird in erster Linie für zwei Dinge gebraucht:

  • Mehrheitsentschluß bei Votern (bei triple-modular redundancy)
  • Redundante Komponenten durch active standby

Zerstört wird Replica-Determinismus unter anderem durch:

  • Inkonsistente Eingaben
  • Inkonsistente Reihefolge
  • Nicht deterministische Programmkonstrukte
  • Explizite Synchronisation (z.B. Wait)
  • Unkontrollierter Zugriff auf globale Zeiten und Timeouts
  • Dynamische preemptive Scheduling Decisions
  • Konsistente Vergleichsprobleme (Software-Vielfältigkeit)

Rise time (Bedeutung von rise time?)[Bearbeiten | Quelltext bearbeiten]

Unter Anstiegszeit und Abfallzeit (auch als englische Begriffe (rise time und fall time) gebräuchlich) versteht man in der Messtechnik die Zeit, die ein Pegelwechsel eines idealerweise rechteckförmigen Signals benötigt. Dazu wird die Zeit betrachtet, in der sich der Signalpegel zwischen zwei definierten Schwellen (häufig bei 10 % und 90 %) befindet. Häufige Anwendung finden die Begriffe in der (binären) Digitaltechnik. Dort beschreiben sie beim Umschaltvorgang die Zeiten, in denen das (analoge) Signal nicht mehr den alten und noch nicht den neuen definierten Logikpegel („0“ bzw. „1“) innehat („Flankensteilheit“). Betrachtet werden hierbei meist im Worst Case garantierte Zeiten, so dass sie die Zeit beschreiben, die ein Signal (beispielsweise in einem Computerprozessor) zum sicheren Umschalten zwischen den beiden binären Zuständen benötigt. (Das heißt, die als Maximalgrößen spezifizierten Anstiegs- und Abfallzeiten sind keine Messwerte, sondern ein Qualitätsmerkmal des betrachteten Bausteins bzw. der betrachteten Logikfamilie.)

RT-Images (zeitliche Genauigkeit eines RT-Images, resent history)[Bearbeiten | Quelltext bearbeiten]

Das RT-Image ist eine Abildung eines Zustand einer RT-Entity.

Sampling/polling/interrupt – robust?[Bearbeiten | Quelltext bearbeiten]

Beim sampling und polling ueberprueft der computer nach belieben den Status einer RS-Entity, wobei die Zeitpunkte sampling points gennant werden, und der meisst periodische Abstand zwischen ihnen sampling interval.

Beim sampling wird der Status einer physikalischen Groesse in einem lokalen Speicher verwaltet, wohingeben beim polling wirklich nur der aktuell physkalische Zustand abgebildet wird, und der Computer bei ich die speicherung des Zustands uebernimmt.

Beim Interrupt hingegen wird der Computer durch ein externen Ereigniss quasi aufgeweckt, und eine ISR (Iterrupt service routine) gestartet welche dann zB. bestimme Aufgabe durchfuehren kann.

Interrupts werden dann eingesetzt wenn sofort auf ein Ereigniss reagiert werden soll, und eine passend hohe sampling rate nicht sinvoll ist.

Schedulability Test (Was ist das? Komplexität? NP-hard?)[Bearbeiten | Quelltext bearbeiten]

Ist eine Gruppe von Tasks {Ti} mit Synchronisationsanforderungen gegeben, gibt es dann einen Test um zu bestimmen ob diese Gruppe „schedulable“ ist? Algorithmus: gibt es einen Algorithmus, der einen durchführbaren Zeitplan (schedule) erstellt, sofern einer existiert? Normalerweise ist dies ein NP schwieriges Problem. Ist ein suffizienter Test positiv, dann sind Tasks garantiert „schedulable“. Wenn ein notwendiger Test negativ ist, dann sind die Tasks mit Sicherheit nicht „schedulable“.

Scheduling - forbidden regions?[Bearbeiten | Quelltext bearbeiten]

Um Blockierungen hochpriorisierter Tasks durch niedrigpriorisierter Tasks, welche eine gemeinsame Ressource halten, zu verhindern, können verbotene Regionen (forbidden regions) für die Aktivierung niedrigpriorisierter Tasks offline eingeführt werden.

Scheduling online (Wie zeigt man, dass es keinen optimalen on-line scheduling existiert?)[Bearbeiten | Quelltext bearbeiten]

Das „Adversary Argument“ sagt aus, dass es generell nicht möglich ist einen optimalen, komplett dynamischen, Online-Scheduler zu erzeugen, solange es gegenseitige Ausschlüsse zwischen periodischen und sporadischen Tasks gibt.

Sprungantwort (Was ist das?)[Bearbeiten | Quelltext bearbeiten]

SRU (Was ist das, was ist ein Knoten)[Bearbeiten | Quelltext bearbeiten]

Eine SRU (smallest replaceable unit) ist eine kleine Einheit mit servicefähigen Schnittstellen (z.B. Steckverbindung im Vergleich zu nicht servicefähigen Verbindungen wie Lötverbindungen), die leicht ausgetauscht werden kann. Ein System besteht aus vielen solchen Einheiten, im Falle eines Fehlers können ganz einfach einzelne Einheiten durch neue ersetzt werden.

Ein Knoten (node) ist eine Hard-Software-Einheit, die aus folgendem besteht:

  • Hardware: CPU, memory, real-time clock, process I/O, communication-interface
  • Operating System: CPU Management, I/O support, error manager, com-support
  • Initialization state: static data structure (app program code, init data (in ROM))
  • History state: dynamic data structures mit Info über aktuelle und vergangene Berechnungen
  • Ground state: minimaler History state wenn alle Tasks inaktiv und alle Kanäle gelöscht sind.

Synchronisation ( interne und externe Uhrensynchronisation? Messzahl für interne clock syn)[Bearbeiten | Quelltext bearbeiten]

Synchronisationsbedingungen (Buch S. 59)[Bearbeiten | Quelltext bearbeiten]

Ein Ensemble von Uhren kann nur synchronisiert werden, wenn

  • Konvergenzfunktion : Offset der Zeiten direkt nach Resynchronisation
  • Driftoffset : Maximale Divergenz zwischen zwei funktionerenden Uhren im Laufe des Resynchronisationsintervalls
  • Präzision

Thrashing[Bearbeiten | Quelltext bearbeiten]

Bei "Explicit Flow Control" (PAR) kann Trashing auftreten: Wenn viele Nachrichten übertragen werden und der Zielknoten die Empfangsbestätigungen nicht senden kann, weil er überlastet ist, werden alle Nachrichten erneut gesendet (z.B. retry Anfrage bei einem Kommunikationsprotokoll). Sollte dies genau bei einem Peak Load Szenario passieren, wird ein Knoten, wenn er am meisten Rechenleistung benötigt, mit Nachrichten überflutet. „Explicit Flow Control“ bedeutet, dass immer Bestätigungsnachrichten/Fehlernachrichten vom Empfänger versandt werden.

Token Protokoll (Gibt es in Echtzeitsystemen mit t.p. Probleme?)[Bearbeiten | Quelltext bearbeiten]

Token Protokoll überlagert mit PAR[Bearbeiten | Quelltext bearbeiten]

Transaktion (RT vs. DB)[Bearbeiten | Quelltext bearbeiten]

Vektorzeit/ Lamportzeit (ZusammenhangKausalität, temp. Ordnung, V.- und L. zeit?)[Bearbeiten | Quelltext bearbeiten]

Verteilter Zustand (sparse time, agreement protokoll)[Bearbeiten | Quelltext bearbeiten]

Zeitmessung ( Grundlegende 4 Schränken der Zeitmessung)[Bearbeiten | Quelltext bearbeiten]

Es ist ein System mit einer "vernünftigen" globalen Zeitbasis mit Granularität g gegeben. Dann müssen die folgenden Grenzen der Zeitmessung beachtet werden:

  • Wenn ein einzelnes Ereignis von zwei Knoten wahrgenommen wird, dann gibt es immer die Möglichkeit, dass sich die Zeitpunkte (timestamps) um einen Tick unterscheiden.
  • Angenommen ist die beobachtete (observed) Dauer eines Intervalls, dann ist die wahre Dauer (true duration):
  • Die zeitliche Reihenfolge von Ereignissen kann nur dann wiederhergestellt werden, wenn die beobachtete Zeitdifferenz ist.
  • Die zeitliche Reihenfolge von Ereignissen kann immer wiederhergestellt werden, wenn das Ereignispaar (event set) 0/3g präzedent ist.

Zeitparameter, Regelstrecke (was gibt es für Z. für ine R.?)[Bearbeiten | Quelltext bearbeiten]

Alle Angaben ohne Gewähr