Realzeitnachweis Flashcards

1
Q

Was versteht man unter einem Realzeitnachweis?

A

Unter einem Realzeitnachweis versteht man den formalen Nachweis, dass alle Tasks eines Realzeitsystems die gegebenen minimalen und maximalen Deadlines unter allen Umständen einhalten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Bedingungen eines Systems überpüft der Realzeitnachweis?

A
  1. Auslastungsbedingung

2. Rechtzeitigkeitsbedingung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche zeitlichen und funktionalen Parameter des Gesamtsystems müssen bekannt sein, um einen Realzeitnachweis durchführen zu können?

A
  1. Minimale Prozesszeiten der Tasks
  2. Minimale Deadlines der Tasks
  3. Maximale Deadlines der Tasks
  4. Minimale Ausführungszeiten der Tasks
  5. Maximale Ausführungszeit der Tasks
  6. Eingesetztes Scheduling-Verfahren
    (Beim prioritätengesteuerten Scheduling ebenfalls die Prioritäten der Tasks)
  7. Unterbrechbarkeit der Tasks und die Abhängigkeiten der Tasks voneinander
  8. Ressourcenbenutzung der Tasks, insbesondere die Dauer der Ressourcenzugriffe.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie berechnet sich die Reaktionszeit einer Task?

A

Die Reaktionszeit einer Task ist die Summe aus der:

  • Ausführungszeit der Task
  • Summe der Verdrängungszeit (Preemption-Delay) aufgrund höherpriorer Tasks
  • Summe der Blockierzeit aufgrund belegter Ressourcen durch niederpriore Tasks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was muss bei einem vollstädnigen Realzeitnachweis alles bestimmt werden?

A

Folgende Dinge sind für einen vollständigen Realzeitnachweis zu bestimmen:

  1. Die maximale Verzögerungszeit der Tasks aufgrund Verdrängungen (Preemption-Delay) durch höherpriore Tasks. Der Fokus liegt auf dem korrekten Scheduling der rechenbereiten Tasks und der daraus entstehenden Verzögerungen.
  2. Die maximale Blockierzeit (t_B) aufgrund belegter Ressourcen von niederprioren Tasks. Eine höherpriore Task muss auf eine niederpriore Task warten, wenn letztere eine Ressource benutzt, die auch die höherpriore Task benutzen will.
  3. Die zeitlichen Auswirkungen des Betriebssystems und deren Einfluss auf die Reaktionszeiten der Tasks.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie funktioniert der Realzeitnachweis ohne Berücksichtigung von Ressourcen?

A
  • Ziel des Realzeitnachweises ohne Berücksichtigung von Ressourcen ist es, die maximale
    Verdrängungszeit jeder Task zu bestimmen.
  • Zuerst wird mittels eines hinreichenden Schedulingtests untersucht, ob ein Auslastungs Grenzwert, abhängig vom jeweiligen Scheduling-Verfahren, überschritten wird. Ergibt das Ergebnis des hinreichenden Schedulingtests, dass der
    Auslastungs-Grenzwert nicht überschritten wird, kann das System eine schritthaltende Verarbeitung garantieren.
  • Wird der Auslastungs-Grenzwert überschritten, muss in der notwendige Schedulingtest durchgeführt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie lässt sich der notwendige Schedulingtest für prioritätengesteuertes Scheduling auf Einprozessorsystemen graphisch bestimmen?

A

Grafisch lässt sich der der notwendige Schedulingtest für prioritätengesteuertes Scheduling auf Einprozessorsystemen durch eine Winkelhalbierende bestimmen. Dabei muss darauf geachtet werden, dass die X- und Y-Achsen des Koordinatensystems identisch normiert sind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie wird die zu einem Zeitpunkt stehende Renchenzeit bei Singlecore-Maschinen beschrieben?

A

Die bis zum Zeitpunkt zur Verfügung stehende Rechenzeit bei einem Singlecore-Rechner wird durch die Funktion:

t_Available(t) = t

beschrieben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was versteht man unter einem Ereignisstrom-Modell (ES-Modell)?

A
  • Beim Ereignisstrom-Modell (ES-Modell) handelt es sich um eine formale Methode zur Beschreibung des Auftretens von Ereignissen wie Zeitpunkt, Häufigkeit und Abhängigkeiten zwischen Ereignissen.
  • Das Modell besteht aus mehreren Komponenten:
  1. Ereignisdichtefunktion E_i(I)
  2. Rechenzeitanforderungsfunktion t_C,i(I).
  • Das ES-Modell bildet die Zeitparameter auf das Intervall I ab. Dazu werden die temporalen Parameter einer Task in eine entsprechende Ereignisdichtefunktion transformiert, woraus sich die Rechenzeitanforderungsfunktion t_C(I) ergibt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie berechnet sich due Ereignisdichtefunktion E_i(I)?

A

E_i(I) = ⌊ (I + t_Pmin,i − t_Ph,i) / t_Pmin,i ⌋

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie lassen sich beim Ereignisstrom-Model die einzelnen Werte für I bestimmen, die untersucht werden müssen?

A

Die einzlenen Werte für I, die untersucht werden müssen, lassen sich folgendermaßen bestimmen:

0 < I < kgV(minimale Prozesszeiten der beteiligten Prozesse) + max(minimale Deadlines der beteiligten Prozesse)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was erschwert die Berechnung der Blockierzeiten beim Realzeitnachweis unter Berücksichtigung der
Ressourcen?

A

Die Bestimmung der Blockierzeiten wird durch die sich ergebende Prioritätsinversion erschwert. So muss der jeweils zum Einsatz kommende Algorithmus zur Prioritätsvererbung berücksichtigt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist eine Rechenzeitanforderungsfunktion?

A

Eine Rechenzeitanforderungsfunktion ist eine Funktion, mit dessen Hilfe die Rechenzeitsumme berechnet werden kann, die innerhalb eines Intervalls angefordert wird und dementsprechend auch innerhalb des Intervalls abgearbeitet sein muss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann es bei einem gemeinsamen Zugriff auf Datenbereiche zu inkonsistente Daten kommen?

A

Ist der Datenbereich nicht geschützt, können zwei Prozesse parallel diesen Datenbereich nutzen.
Dadurch ist es möglich, dass beiden Prozessen erst den lesenden Zugriff ausführen und anschließend
den schreibenden Zugriff. Somit geht der Wert eines Lesezugriffes verloren. Dadurch kommt es zu inkonsistenten Daten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welche 2 Probleme können beim Zugriff auf Ressourcen unter gegenseitigem Ausschluß auftreten?

A
  1. Deadlock:

Es entsteht eine zyklische Wartesituation zwischen mehreren Prozessen, wobei jeder beteiligte Prozess auf die Freigabe von Betriebsmitteln wartet, die ein anderer beteiligter Prozess bereits belegt hat.

  1. Livelock:

Es kommt zur Blockierung zweier oder mehrerer Prozesse, die nicht in einem Zustand verharren, sondern ständig zwischen mehreren Zuständen wechseln, aus denen sie nicht mehr entkommen können. Jeder einzelne Prozess verharrt also nicht für immer im Wartezustand, sondern ist weiterhin aktiv, kann aber dennoch nicht seine Aufgabe abarbeiten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Erklären Sie den Begriff Prioritätsinversion.

A

Eine Prioritätsinversion liegt vor, wenn eine niedrigpriore Task eine Ressource belegt hat, die von einer hochprioren Task benötigt wird. Die Ressource wird dabei durch einen Lock geschützt. Durch den Einsatz von verschiedenen Prioritätsinversions-Protokollen bekommt die niedrig priorisierte Task kurzzeitig eine höhere Prioritat um zu gewährleisten, dass die Ressource so schnell wie möglich wieder freigegeben wird, damit die hochpriore Task weiterverarebitet werden kann.

17
Q

Welche Protokolle zur Behandlung der Prioritätsinversion kennen Sie?

A
  1. Unterbrechungssperren (NPCS)
  2. Prioritätsvererbung (PIP)
  3. Priority Ceiling (PCP)
18
Q

Warum kann bei NPCS keine Deadlock Situation auftreten?

A

Dabei muss zwischen Single- und Multicore-Prozessoren unterscheiden werden:

Bei Single Core Prozessoren wird die Task sobald sie sich den Lock geholt hat nicht mehr unterbrochen. Sie kann erst wieder unterbrochen werden, sobald der Lock wieder freigegeben wird.

Auf Multi Core Prozessoren unterscheidet man zwischen lokaler und globaler Unterbrechbarkeit. Die lokale Unterprechnungssperre betrifft dabei nur einen einzelnen Prozessorkern. Dabei kann es jedoch vorkommen, das auf einem anderen Kern ein Prozess läuft, der die nötigen Ressourcen ebenfalls anfordert (Deadlock Potential). Um dies zu verhindern muss man eine globale Unterbrechnungssperre verwenden.

19
Q

Nach welchen Scheduling-, Ressourcen-Zuteilungs- und Prioritäten-Vererbungs-Regeln funktionieret PIP?

A

Scheduling Regel:

Die Task mit der höchsten Priorität wird zuerst ausgeführt.

Ressourcen Zuteilung:

Ist die Ressource verfügbar, bekommt die Task die Ressource zugewießen und hält diese solange, bis diese wieder freigegeben wird.

Ist die Ressource nicht verfügbar, wird die Task die die Ressource anfordern möchte blockiert und erst
wieder rechenbereit gesetzt, wenn die Ressource verfügbar ist.

Prioritäten Vererbung:

Ist eine Ressource auf die eine höherpriore Task zugreifen möchte breits belegt, bekommt die niederpriore Task (die die Ressource hält) die Priorität der höherprioren Task zugewiesen. Sobald die niederpriore Task die Ressource wieder freigibt, erhält sie ihre ursprüngliche Priorität zurück.

20
Q

Nach welchen Scheduling-, Ressourcen-Zuteilungs- und Prioritäten-Vererbungs-Regeln funktionieret PCP?

A

Scheduling Regel:

Tasks mit hoher Priorität werden zuerst ausgeführt

Ressourcen Zuteilung:

Wird keine Ressource benutzt, so wird der Wert der Prioritätsobergrenze Π_s auf die niedrigste Priorität
des Systems gesetzt.

Bei Ressourcenzugriffen und -freigaben wird der Wert der Prioritätsobergrenze Π_s angepasst.

Ist die Ressource nicht verfügbar, wird sie nicht zugeteilt.

Ist die Ressource verfügbar, wird sie zugeteilt:

  • Wenn die Priorität der Task höher ist als der momentane Wert der Prioritätsobergrenze Π_s(t).
  • Ist die Priorität der Task gleich oder kleiner als der momentane Wert der Prioritätsobergrenze Π_s(t), wird die Ressource nur dann zugewiesen wenn die Task den Ressourcenzugriff Π_s(t) ausgelöst hat.

Prioritäten Vererbung
Wie bei PIP

21
Q

Wie wird ein Deadlock durch PCP verhindert?

A

Aufgrund der Eigenschaft, dass Tasks beim PCP maximal auf eine Ressource warten.