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