Echtzeitsysteme Flashcards

1
Q

Beschreibe das Problem Prioritätsinversion.

A

Prioritätsinversion tritt auf, wenn eine niedriger priorisierte Aufgabe eine Ressource blockiert, die eine höher priorisierte Aufgabe benötigt, während eine Aufgabe mittlerer Priorität die Ausführung der blockierten Aufgabe verhindert

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

Was sind Echtzeitsysteme?

  • in eingebetteten Systemen?
A

Echtzeitsysteme in eingebetteten Systemen sind Systeme, bei denen nicht nur die Berechnungen korrekt sein müssen, sondern auch fristgerecht (in einer definierten Zeit) abgeschlossen sein müssen. Dies ist besonders wichtig, da die physische Umgebung nicht auf Steueraktionen warten kann

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

Hard real-time Anfordeungen:

Soft real-time Anforderungen:

A

Bei Hard-Real-Time-Systemen muss jede Reaktion innerhalb einer strikten Frist (Deadline) erfolgen, da eine Verletzung der Deadline zu schwerwiegenden Konsequenzen führen kann​

In Soft-Real-Time-Systemen ist es nicht kritisch, wenn die Deadline gelegentlich verpasst wird. Eine statistisch ausreichende Anzahl von Reaktionen innerhalb der Zeit reicht aus​

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

Beschreibe das OSEK Task Model:
- Basic Task Model
- Extended Task Model

A

Basic Task Model: In diesem Modell gibt es keine Möglichkeit, Aufgaben anzuhalten oder zu blockieren. Aufgaben werden direkt in den Zustand „ready“ versetzt und beginnen ihre Ausführung sofort, wenn Ressourcen verfügbar sind.

Extended Task Model: In diesem Modell können Aufgaben in den Zustand „waiting“ versetzt werden, wenn sie auf bestimmte Ereignisse warten, und sie werden nach Freigabe wieder aktiviert

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

Welche Probleme können in Echtzeitsysteme auftreten?

A

Zu den Problemen gehören Deadlocks (wenn sich Aufgaben gegenseitig blockieren), Prioritätsinversion und Kontextwechsel, die zusätzlichen Overhead verursachen und Fristen gefährden können

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

Was wären Lösungen für die Probleme in Echtzeitsystemen?

A

Lösungen beinhalten den Einsatz von Protokollen wie dem Priority Inheritance Protocol und dem Priority Ceiling Protocol, um Probleme wie Prioritätsinversion zu verhindern. Des Weiteren hilft das Vermeiden unnötiger Kontextwechsel und die Verwendung von Mechanismen zur Deadlock-Vermeidung

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

Beschreibe Cooperative Scheduling.

  • Preemption
A

Cooperative Scheduling bedeutet, dass eine Aufgabe ihre Ausführung nur dann beendet oder pausiert, wenn sie explizit beschließt, die Kontrolle zurückzugeben, z. B. wenn sie fertig ist oder auf ein Ereignis wartet. Im Gegensatz dazu erlaubt Preemptive Scheduling, dass eine Aufgabe von einer höher priorisierten Aufgabe unterbrochen wird, ohne dass sie ihre Ausführung freiwillig aufgibt. Im Cooperative Scheduling kann es also keine Unterbrechungen geben, solange die laufende Aufgabe die Kontrolle nicht zurückgibt

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

Nenne die Vor- und Nachteile von Cooperative Scheduling.

  • Preemption
A

Vorteile:
- Weniger Kontextwechsel, da die Aufgaben nicht abrupt unterbrochen werden.
- Einfacher zu implementieren, da keine speziellen Mechanismen für Preemption erforderlich sind.

Nachteile:
- Eine Aufgabe mit niedriger Priorität könnte unbeabsichtigt die Ausführung höher priorisierter Aufgaben blockieren, wenn sie die Kontrolle nicht rechtzeitig zurückgibt.
- Höhere Prioritätsaufgaben können verhungern (Starvation), wenn die niedrigeren Prioritätsaufgaben lange laufen

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

Wann kommt es zu einem Deadlock in Echtzeitsystemen?

A

Ein Deadlock tritt auf, wenn zwei oder mehr Aufgaben sich gegenseitig blockieren, indem sie auf Ressourcen warten, die von den jeweils anderen gehalten werden. Dies führt dazu, dass keine der beteiligten Aufgaben ihre Ausführung fortsetzen kann. Ein klassisches Beispiel ist, wenn Aufgabe A Ressource R1 hält und auf Ressource R2 wartet, während Aufgabe B Ressource R2 hält und auf Ressource R1 wartet.

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

Definiere Deadlocks und Priority Inversion.

A

Deadlock:
Ein Deadlock ist eine Situation, in der zwei oder mehr Aufgaben dauerhaft blockiert sind, weil jede Aufgabe auf eine Ressource wartet, die von einer anderen gehalten wird, ohne dass eine der Aufgaben weitermachen kann​.

Priority Inversion:
Dies ist ein Zustand, bei dem eine Aufgabe mit niedriger Priorität eine Ressource hält, die von einer Aufgabe mit hoher Priorität benötigt wird, während eine mittlere Prioritätsaufgabe die Ausführung der niedrigen Prioritätsaufgabe verhindert, wodurch die hoch priorisierte Aufgabe indirekt blockiert wird.

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

Was sind Priority Inhertance Protocols?

A

Beschreibt, wie niedrig priorisierte Aufgaben die Priorität von höher priorisierten Aufgaben übernehmen, wenn sie eine benötigte Ressource blockieren​.

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

Was sind Priority Ceiling Protocols?

A

Beschreibt, wie Ressourcen eine festgelegte Priorität haben, die der höchsten Priorität entspricht, die eine Aufgabe möglicherweise hat, um Deadlocks zu vermeiden​.

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

Beschreibe die Task Parameter.

A

Die Task Parameter beschreiben die wesentlichen Eigenschaften und zeitlichen Anforderungen einer Aufgabe in einem Echtzeitsystem. Diese Parameter umfassen in der Regel.

  • Periodizität (τ): Der Zeitraum, nach dem eine Aufgabe wiederholt aktiviert wird.
  • Ausführungszeit: Die benötigte Zeit, um eine Aufgabe vollständig zu bearbeiten, oft gemessen als Worst-Case Execution Time (WCET).
  • Deadline (D): Die maximale Zeit, innerhalb derer eine Aufgabe nach ihrer Aktivierung abgeschlossen sein muss.
  • Startzeit/Aktivierungszeit: Der Zeitpunkt, an dem die Aufgabe aktiviert wird, entweder zu Beginn oder nach einer bestimmten Wartezeit.

Eine Aufgabe in einem Echtzeitsystem wird durch ein Tupel T=(τ,C,D)T=(τ,C,D) dargestellt, wobei:

τ die Periodizität ist,
C die Ausführungszeit und
D die relative Deadline.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie lautet die Formel für CPU Utilization?

A

Die Formel zur Berechnung der Auslastung eines Mehrfachaufgabensystems, mit der Bedingung U≤1, um sicherzustellen, dass das System planbar ist.

Die CPU-Auslastung (Utilization) wird durch die folgende Formel berechnet:

U=∑=Ci/Ti

  • Ci​ die Ausführungszeit der Aufgabe i ist
  • Ti​ die Periode der Aufgabe i ist
  • n die Anzahl der Aufgaben ist.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Beschreibe EDF Scheduling (Earliest Deadline First). Was sind die Vor- und Nachteile?

A

Ein Algorithmus, bei dem die Aufgabe mit der frühesten Deadline zuerst ausgeführt wird.

Vorteile:
- Optimal: EDF garantiert, dass, wenn ein Aufgaben-System planbar ist, es unter EDF planbar bleibt.
- Maximale Flexibilität: Die Reihenfolge der Aufgaben kann sich dynamisch ändern, um Deadlines einzuhalten.

Nachteile:
-Es kann zu häufigen Kontextwechseln kommen, da die Aufgabenreihenfolge sich häufig ändern kann.
- Bei Überlastung (wenn die CPU-Auslastung U>1U>1 ist) können mehrere Deadlines verfehlt werden

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

Beschreibe Rate Monotonic Scheduling (RM). Was sind die Vor- und Nachteile?

A

Ein statischer Scheduling-Algorithmus, der Aufgaben mit kürzeren Perioden höhere Prioritäten zuweist​.

Vorteile:
- Einfach zu implementieren, da die Prioritäten einmal festgelegt und nicht dynamisch geändert werden.
- RM ist optimal für statische Prioritätszuweisungen: Wenn ein System mit festen Prioritäten planbar ist, dann ist es auch mit RM planbar.

Nachteile:
- RM kann nicht alle möglichen Aufgaben-Systeme planen, insbesondere wenn die CPU-Auslastung hoch ist.
- Weniger flexibel als dynamische Algorithmen wie EDF, da die Prioritäten nicht zur Laufzeit angepasst werden können

16
Q
A