03 - Real-Time Operating Systems Flashcards
Welche Betriebssystem-Arten gibt es?
- General Purpose Operating Systems (GPOS): für “normale” Computer
- Real-Time Operating Systems (RTOS): für embedded Computer
Warum brauchen Embedded Systems ein spezielles Betriebssystem?
Normale OS haben mehr Overhead und keine Zeitbasis, darum ist timing ein Problem.
Was sind Schlüssel-Eigenschaften und Anforderungen an Real-Time Operating Systeme? (5)
- Deterministic temporal behavior
- Processing of external events with short response times
- Low resource usage: Energieeffizienz, Kompaktheit
- Reliability
- Scalability
Was ist ein Prozess?
- Grundlage für parallele oder quasi-parallele Ausführung von Programmen
- enthält Programm in Ausführung und seinen Zustand (dynamisch)
Was ist ein Programm?
Ist eine Sequenz von Statements (statisch).
Was ist das Ziel der Concurrency in Embedded Systems?
Das Ziel ist Aktualität, weder zu früh noch zu spät.
Welche Prozess-Zustände gibt es? (6)
- 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
Was umfasst das Prozess-Management?
- eine Liste für jeden Prozess-Zustand
- Zustandsübergänge durch Entfernung und Wiedereintritt
- Prozess Scheduler
Was macht der Prozess Scheduler?
- 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
Wofür ist die Timer Interrupt Service Routine zuständig?
Für die Abfertigung eines Prozesses.
Wie läuft die Abfertigung eines Prozesses ab? (9)
- 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
Was ist Sampling?
Unter Sampling (Abtastung) versteht man die periodische Abfrage des Zustands einer RT-Einheit durch einen Computer.
Was ist ein Abtastintervall?
Die Zeit zwischen den Abtastpunkten wird als Abtastintervall bezeichnet.
Wie wird die Länge des Abtastintervalls festgelegt?
Die Länge des Abtastintervalls wird durch die Dynamik der real-time Entity bestimmt.
Was ist der Unterschied beim Sampling zwischen States und Events?
- States (Zustände) können durch Abtasten beobachtet werden
* Events (Ereignisse) müssen in einem Speicherelement (memory element, ME) gespeichert werden
Was ist ein Interrupt?
• 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
Welche Prozesse werden zur Behandlung eines Interrupts verwendet?
- 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
Was ist Scheduling?
- 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
Welche zwei Scheduler Arten gibt es?
- Fully-Static Scheduler: trifft alle drei Entscheidungen zur Designzeit (vor der Laufzeit)
- Fully-Dynamic Scheduler: trifft alle Entscheidungen zur Laufzeit
Welche Klassifizierungen gibt es beim Scheduling? (4)
- Best Effort vs. Guaranteed
- Static vs. Dynamic
- Preemptive (unterbrechbar) vs. Nonpreemptive
- Central vs. Distributed
Welche Klassifizierung gibt es für eine Prozess Ankunft? (3)
- periodic
- sporadic
- aperiodic
Wann kann ein neuer Prozess beim non-preemptive scheduling versendet werden?
Wenn der aktuelle Prozess abgeschlossen wird.
Wann kann ein neuer Prozess beim preemptive scheduling versendet werden?
- 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)
Welche Assumptions werden über Prozesse gemacht/benötigt? (7)
- Release time/ Arrival time
- Start time
- Finish time
- Execution time
- Deadline
- Period
- Priorities fixed/dynamic