EBS1.2 Flashcards
Kapitel 4-6
Wie beschreibt die DIN 44300 den Begriff “Echtzeit”?
Unter Echtzeit versteht man den Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, sodass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können zufällig oder zu vorherbestimmten Zeitpunkten anfallen.
Was sind die wesentlichen Merkmale eines Echtzeitsystems?
Ein Echtzeitsystem muss korrekte Reaktionen innerhalb einer definierten Zeitspanne liefern. Die korrekte Funktion hängt nicht nur von der logischen Korrektheit der Ergebnisse, sondern auch vom Zeitpunkt der Ergebnislieferung ab. Echtzeitsysteme können in harte (strikte Deadline-Einhaltung notwendig) und weiche Echtzeitsysteme (gelegentliche Deadline-Verletzungen tolerierbar) unterteilt werden.
Was unterscheidet harte Echtzeitsysteme von weichen Echtzeitsystemen?
In harten Echtzeitsystemen führt das Verpassen einer Deadline zu katastrophalen Folgen und muss zwingend vermieden werden (z. B. Flugsteuersysteme). In weichen Echtzeitsystemen sind Deadline-Verletzungen tolerierbar und führen lediglich zu Leistungseinbußen (z. B. Multimediasysteme mit gelegentlichem Bildflackern).
Was ist der Unterschied zwischen ereignisgesteuerten und zeitgesteuerten Echtzeitsystemen?
Ereignisgesteuerte Systeme reagieren auf Unterbrechungen durch externe Ereignisse, was zu kurzen Reaktionszeiten führt, aber bei vielen gleichzeitigen Ereignissen anfällig ist. Zeitgesteuerte Systeme reagieren auf periodische Zeitgeber und haben planbare zeitliche Abläufe, was die Planung und Verlässlichkeit im Echtzeiteinsatz verbessert.
Welche Aufgaben und Anforderungen müssen Echtzeitbetriebssysteme erfüllen?
Echtzeitbetriebssysteme müssen ein deterministisches zeitliches Verhalten aufweisen, externe Ereignisse schnell bearbeiten, definierte Antwortzeiten auf Unterbrechungen garantieren, Multitasking ermöglichen, prioritätsgesteuerte Prozessverwaltung bieten, effiziente Interprozesskommunikation unterstützen, skalierbar sein, und Last-Unabhängigkeit garantieren.
Was ist ein Echtzeitbetriebssystem (RTOS) und welche Hauptfunktionen erfüllt es?
Ein Echtzeitbetriebssystem (RTOS) ist eine Software, die Echtzeitanforderungen durch planbare und schnelle Reaktionen auf Ereignisse ermöglicht. Hauptfunktionen umfassen Prozessverwaltung, Speicherverwaltung, Prozessorverwaltung, Geräteverwaltung und Datei-Verwaltung. Es ermöglicht die Ausführung mehrerer Tasks mit garantierten Zeitbedingungen.
Welche Scheduling-Strategien werden in Echtzeitbetriebssystemen verwendet und was ist das Ziel?
Echtzeitbetriebssysteme nutzen oft präemptives Scheduling, bei dem Tasks mit höherer Priorität die CPU sofort übernehmen können. Beliebte Strategien sind Earliest Deadline First (EDF) und Rate-Monotonic Scheduling (RMS). Ziel ist es, alle Zeitbedingungen zu erfüllen und eine effiziente Ressourcennutzung zu gewährleisten.
Warum ist die Speicherverwaltung in Echtzeitbetriebssystemen kritisch und wie wird sie üblicherweise gehandhabt?
In Echtzeitbetriebssystemen müssen alle zeitkritischen Daten und Programmcodes im Hauptspeicher verfügbar sein, um lange Ladezeiten zu vermeiden. Standardverfahren wie Swapping oder Demand-Paging sind oft ungeeignet. Echtzeitbetriebssysteme nutzen daher spezialisierte Speicherverwaltung, um diese Anforderungen zu erfüllen.
Was ist ein Echtzeitsystem?
Echtzeitsysteme sind Systeme, die korrekte Reaktionen innerhalb einer definierten
Zeitspanne produzieren müssen.
Was ist eine harte und was eine weiche Echtzeitbedingung?
Unter einer harten Echtzeitbedingung versteht man eine zeitliche Bedingung,
die vom System stets erfüllt werden s muss, da eine auch nur gelegentliche
Verletzung erhebliche Folgen nach sich ziehen würde. In weichen
Echtzeitsystemen ist die Einhaltung solcher Bedingungen zwar wichtig, sie
funktionieren jedoch weiterhin korrekt, wenn diese gelegentlich verletzt
wird.
Was verwaltet ein Betriebssystem?
Ein Betriebssystem verwaltet: Prozessor(en), Prozesse, Speicher, Dateien
und Geräte sowie andere Betriebsmittel.
Welches sind die besonderen Anforderungen, die man an ein Echtzeitbetriebssystem
stellt?
- deterministisches zeitliches Verhalten
- sie erlauben die Bearbeitung von viele externen Ereignissen mit hilfe eines Unterbrechungskonzeptes
- die Antwortzeit auf eine Unterbrechung ist definiert
- geringer Overhead bei direktem Zugriff auf physikalische Hardware-Adressen und bei Kontextwechseln
- Multitakingfähigkeit muss gegeben sein, welche den Prozessor an andere Lauffähige Programme abgibt bei interrupt etc.
- lauffähige Programme müssen prioritätsgesteuert anlaufen
- Lastunabhängigkeit muss garantiert sein
- einsatzfähig in Systemen mit begrenzten Ressourcen durch skaliebarkeit.
- Standardschnittstellen
-spezielle Entwicklungswerkzeuge, die für Echtzeitanwendungen optimiert sind.
-können auch mit nicht Echtzeitfähigen Systemen kommunizieren.
Was ist ein eingebettetes System und warum ist dessen Software-Entwicklung komplex?
Ein eingebettetes System ist ein spezialisiertes Computersystem, das Teil eines größeren Systems ist und spezifische Aufgaben erfüllt. Die Software-Entwicklung ist komplex, weil die Anforderungen hoch sind, die Software exakt auf Verbraucherwünsche und -anforderungen abgestimmt sein muss und Beta-Tests im realen Betrieb oft nicht möglich sind.
Welche Phasen umfasst der Entwicklungsprozess für Software in eingebetteten Systemen?
Der Entwicklungsprozess umfasst die Phasen Anforderungserfassung, Systemanalyse, Entwurf, Validierung, Verifikation, Prototypengenerierung, Simulation und Implementierung.
Warum ist die Spezifikation bei der Entwicklung eingebetteter Systeme besonders kritisch?
Die Spezifikation ist kritisch, weil mehr als 50% der Fehler in ausgelieferten Systemen konzeptionelle Fehler in den Anforderungen sind. Eine präzise und sorgfältige Anforderungsanalyse ist daher unerlässlich, insbesondere bei sicherheitskritischen Systemen.
Was versteht man unter einer Spezifikation in der Software-Entwicklung?
Eine Spezifikation legt formal fest, was das System können muss. Sie umfasst das gewünschte Verhalten, die Schnittstellen sowie Vorgaben bezüglich Geschwindigkeit, Kosten, Fläche und Leistungsverbrauch.
Was sind typische Gründe für falsches oder unerwartetes Verhalten eines eingebetteten Systems?
Typische Gründe sind: falsche Annahmen über das Verhalten der Regelstrecke, die Kontrolleinheit sendet nicht die richtigen Signale oder sendet sie nicht rechtzeitig, und die Benutzerschnittstelle übermittelt nicht die richtige Information zwischen Benutzer und Kontrolleinheit.
Warum wird C/C++ häufig zur Programmierung eingebetteter Systeme verwendet?
C/C++ wird wegen der maschinennahen Programmierung, kürzeren Entwicklungszyklen, steigender Komplexität der Systeme und sicherheitskritischen Aufgaben verwendet. Assemblersprache wird für echtzeitkritische Anforderungen genutzt, und C wird nach Assembler übersetzt und optimiert.