03 - Real-Time Operating Systems Flashcards

1
Q

Welche Betriebssystem-Arten gibt es?

A
  • General Purpose Operating Systems (GPOS): für “normale” Computer
  • Real-Time Operating Systems (RTOS): für embedded Computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Warum brauchen Embedded Systems ein spezielles Betriebssystem?

A

Normale OS haben mehr Overhead und keine Zeitbasis, darum ist timing ein Problem.

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

Was sind Schlüssel-Eigenschaften und Anforderungen an Real-Time Operating Systeme? (5)

A
  • Deterministic temporal behavior
  • Processing of external events with short response times
  • Low resource usage: Energieeffizienz, Kompaktheit
  • Reliability
  • Scalability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Prozess?

A
  • Grundlage für parallele oder quasi-parallele Ausführung von Programmen
  • enthält Programm in Ausführung und seinen Zustand (dynamisch)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist ein Programm?

A

Ist eine Sequenz von Statements (statisch).

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

Was ist das Ziel der Concurrency in Embedded Systems?

A

Das Ziel ist Aktualität, weder zu früh noch zu spät.

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

Welche Prozess-Zustände gibt es? (6)

A
  • Created: Datenstrukturen sind erstellt, Ressourcen und Initialisierung erforderlich
  • Ready: bereit für Zuweisung an Prozessor
  • Running: im Besitz des Prozessors, bis der Scheduler die Entfernung einleitet
  • Blocked: Warten auf ein Ereignis (z.B. Beendigung eines anderen Prozesses, Unterbrechung)
  • Suspended: Prozess blockiert durch Betriebssystem oder anderen Prozess
  • Dead: Beendigung von außen oder unabhängige, zugewiesene Ressourcen noch verfügbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was umfasst das Prozess-Management?

A
  • eine Liste für jeden Prozess-Zustand
  • Zustandsübergänge durch Entfernung und Wiedereintritt
  • Prozess Scheduler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was macht der Prozess Scheduler?

A
  • Entfernen den Prozess aus der ready Liste und weisen ihn dem Prozessor zu
  • Scheduling Entscheidungen umfassen Zeiten und Prozesse für die Prozessor-Zuweisung
  • zuständig für Kontextwechsel: Speichern/Wiederherstellen des Registerinhalts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wofür ist die Timer Interrupt Service Routine zuständig?

A

Für die Abfertigung eines Prozesses.

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

Wie läuft die Abfertigung eines Prozesses ab? (9)

A
  • Interrupts deaktivieren
  • Status (Register) im aktuellen Prozessdeskriptor speichern
  • Speichern der Rücksprungadresse vom Stack für den aktuellen Prozess
  • bestimmen, welcher Prozess ausgeführt werden soll (Scheduling)
  • Wenn es derselbe ist, Interrupts aktivieren und return
  • Prozesszustand in Maschinenregister kopieren
  • ersetzen des Programmzählers auf dem Stack für den neuen Prozess
  • Interrupts aktivieren
  • return
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist Sampling?

A

Unter Sampling (Abtastung) versteht man die periodische Abfrage des Zustands einer RT-Einheit durch einen Computer.

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

Was ist ein Abtastintervall?

A

Die Zeit zwischen den Abtastpunkten wird als Abtastintervall bezeichnet.

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

Wie wird die Länge des Abtastintervalls festgelegt?

A

Die Länge des Abtastintervalls wird durch die Dynamik der real-time Entity bestimmt.

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

Was ist der Unterschied beim Sampling zwischen States und Events?

A
  • States (Zustände) können durch Abtasten beobachtet werden

* Events (Ereignisse) müssen in einem Speicherelement (memory element, ME) gespeichert werden

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

Was ist ein Interrupt?

A

• ist ein Hardware-Mechanismus, der periodisch (nach jeder Instruktion) den Zustand
einer spezifischen Signal Line überwacht

• wenn die Line aktiv ist, während der Interrupt nicht deaktiviert ist, wird die Kontrolle vom aktuellen Prozess an einen Prozess übertragen, der mit der Bedienung des
Interrupts verbunden ist

• ein externes Ereignis zwingt den Computer in den Interrupt-Service-Zustand

17
Q

Welche Prozesse werden zur Behandlung eines Interrupts verwendet?

A
  • Zeitfenster wird durch ersten dynamischen TT-Prozess geöffnet
  • Während des Zeitfensters kann es zu einem Interrupt kommen
  • der dritte Prozess, der ET-Interrupt Service-Prozess, wird aktiviert und schließt das Zeitfenster
  • Zeitfenster wird durch zweiten dynamischen TT-Prozess geschlossen, wenn kein Interrupt aufgetreten ist
18
Q

Was ist Scheduling?

A
  • Entscheidung zur Ausführung eines Prozesses mit den folgenden Teilen:
  • assignment (Zuordnung): welcher Prozessor den Prozess ausführen soll
  • ordering (Reihenfolge): in welcher Reihenfolge soll jeder Prozessor seine Prozesse ausführen soll
  • timing (Zeitpunkt): die Zeit, zu der jeder Prozess ausgeführt wird
19
Q

Welche zwei Scheduler Arten gibt es?

A
  • Fully-Static Scheduler: trifft alle drei Entscheidungen zur Designzeit (vor der Laufzeit)
  • Fully-Dynamic Scheduler: trifft alle Entscheidungen zur Laufzeit
20
Q

Welche Klassifizierungen gibt es beim Scheduling? (4)

A
  • Best Effort vs. Guaranteed
  • Static vs. Dynamic
  • Preemptive (unterbrechbar) vs. Nonpreemptive
  • Central vs. Distributed
21
Q

Welche Klassifizierung gibt es für eine Prozess Ankunft? (3)

A
  • periodic
  • sporadic
  • aperiodic
22
Q

Wann kann ein neuer Prozess beim non-preemptive scheduling versendet werden?

A

Wenn der aktuelle Prozess abgeschlossen wird.

23
Q

Wann kann ein neuer Prozess beim preemptive scheduling versendet werden?

A
  • Bei einem Timer-Interrupt
  • Bei einem I/O Interrupt (möglicherweise)
  • Wenn ein neuer Prozess erstellt wird oder ein Prozess beendet wird
  • Wenn der aktuelle Prozess einen Mutex blockiert oder freigibt
  • Wenn der aktuelle Prozess auf einer Semaphore blockiert
  • Wenn der Zustand einer Semaphore geändert wird

• Wenn der aktuelle Prozess einen Betriebssystemaufruf tätigt (Dateisystem Zugriff,
Netzwerk Zugriff)

24
Q

Welche Assumptions werden über Prozesse gemacht/benötigt? (7)

A
  • Release time/ Arrival time
  • Start time
  • Finish time
  • Execution time
  • Deadline
  • Period
  • Priorities fixed/dynamic
25
Q

Was ist die Response Time?

A

Ist die Zeit, die zwischen der ersten Aktivierung des Prozesses und der Beendigung seiner Ausführung verstreicht

26
Q

Was ist Laxity (Nachlässigkeit)?

A

Ist die Zeitdifferenz zwischen der Deadline und der verbleibenden Ausführungszeit.

27
Q

Was ist Static Scheduling (Time Triggered Control)?

A
  • Alle Scheduling Entscheidungen werden zur Kompilierzeit getroffen. Die zeitliche Prozessstruktur ist fest. Zur Laufzeit muss der Dispatcher eine Tabellensuche durchführen, um zu jedem Zeitpunkt zu entscheiden, welcher Prozess als nächstes ausgeführt werden muss
  • Static Schedules sind so gestaltet, dass alle Anforderungen an Vorrang und gegenseitigen Ausschluss zwischen den Prozessen erfüllt sind (implizite Synchronisation) und die Laufzeit optimiert ist. (Kein Overhead für Warte- und Signaloperationen).
28
Q

Was ist Dynamic Scheduling?

A

• Alle Scheduling Entscheidungen werden online getroffen, d. h. auf der Grundlage der
bereitstehenden Prozesse.

  • Gegenseitiger Ausschluss und Synchronisation müssen erzwungen werden durch explizite Synchronisationskonstrukte (z.B. Warteoperationen) zur Laufzeit erzwungen werden.
  • Vorteile: Flexibilität, es werden nur Ressourcen beansprucht, die auch tatsächlich genutzt werden
  • Nachteile: Rechenressourcen für die Planung und Synchronisierung erforderlich, Garantien sind schwer zu unterstützen
29
Q

Wie funktioniert Rate-Monotonic Scheduling (RMS)?

A

• für Prozesse sind jeweils WCET und Priorität gegeben

• falls die Perioden ein Vielfaches voneinander sind, kann die maximale CPU-Auslastung
gegen 1 gehen

• es wird davon ausgegangen, dass es keine Mutexe, Semaphoren, blockierende I/O und
keine Prioritätsbeschränkungen gibt

• Prioritäten werden statisch anhand der Periodendauer eines Jobs festgelegt: je kürzer die Periodendauer eines Jobs, desto höher ist seine Priorität

30
Q

Wie funktioniert Earliest Deadline First (EDF)?

A
  • Prozess mit frühster Deadline wird zuerst ausgeführt
  • bei einer Anzahl unabhängiger Prozesse mit Deadlines, wird so geplant, dass die maximale Verspätung (lateness) minimiert wird
  • lateness_max = max(finishing time - Deadline)
  • Beachten: lateness_max ist negativ wenn alle Deadlines eingehalten werden
31
Q

Wie funktioniert Least Laxity (LL)?

A
  • Laxity: Differenz zwischen Deadline und CPU Zeit
  • dynamisches preemptive scheduling mit dynamischen Prioritäten
  • Prozesse mit kürzester Laxity bekommt höchste (dynamische) Priorität
  • ist in uniprozessor Systemen ein optimaler Algorithmus
  • Priorität wird mit der Zeit höher, da die Laxity summiert wird
32
Q

Was ist ein Precedence Graph?

A

Ein gerichteter azyklischer Graph (DAG) zeigt Vorrangigkeiten (precedences) an, die angeben, welche Prozesse abgeschlossen werden müssen, bevor andere Prozesse beginnen.

33
Q

Wie funktioniert Latest Deadline First (LDF)

A

• LDF-Scheduling Strategy baut einen Schedule rückwärts auf

• bei einem gerichteten azyklischen Graphen (DAG) wird Blattknoten mit der spätesten Frist, der als letzter terminiert werden soll, gewählt und arbeitet sich von hinten nach
vorne

• LDF Schedules berücksichtigt alle Abhängigkeiten und hält alle Deadlines ein

34
Q

Was meint Brittleness (Zerbrechlichkeit)?

A

Generell sind alle Algorithmen zerbrechlich: eine kleine Änderung kann große, unerwartete Konsequenzen haben.

35
Q

Was besagt Richard’s Anomalie Theorem?

A

Wenn ein Prozess Set mit festen Prioritäten, Ausführungszeiten und Vorrangsbeschränkungen nach Prioritäten auf einer festen Anzahl von Prozessoren geplant wird und dann die Anzahl der Prozessoren erhöht, die Ausführungszeiten verkürzt oder Prioritätsbeschränkungen aufgeweicht werden, kann das die Länge des Zeitplans erhöhen.

36
Q

Was ist Priority Inversion?

A
  • Von einer Prioritätsumkehr spricht man, wenn ein Prozess mit höherer Priorität durch einen Prozess mit niedrigerer Priorität blockiert wird
  • Situation kann entstehen, wenn gegenseitiger Ausschluss erzwungen werden muss
37
Q

Was ist Priority Inheritance (Prioritätsvererbung)?

A

Wenn ein Prozess einen oder mehrere Prozesse mit höherer Priorität blockiert, ignoriert
er seine ursprüngliche Priorität und erhält die höchste Prioritätsstufe aller Prozesse, die er blockiert. Nach dem Verlassen des kritischen Abschnitts kehrt der Prozess zu seiner ursprünglichen Priorität zurück. (Dieses Protokoll der Prioritätsvererbung schützt nicht
vor Deadlocks siehe Abbildung)

38
Q

Was ist das Ziel des Priority Ceiling Protokolls?

A

Ziel ist es Deadlocks zu verhindern, die auftreten können, wenn Prioritätsvererbung eingesetzt wird.

39
Q

Wie funktioniert das Priority Ceiling Protocol?

A
  • Weisen Sie jeder Semaphore eine Prioritätsobergrenze zu
  • Die Prioritätsgrenze ist gleich dem Prozess mit der höchsten Priorität, der diese Semaphor benutzen darf

• der Prozess T darf nur dann einen neuen kritischen Abschnitt beginnen, wenn die Priorität von T höher ist als die Prioritätsobergrenzen aller Semaphoren, die von
anderen Tasks als T gesperrt sind.