Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » EZS
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:hauptstudium:ls4:ezs-2016-02-23 [23.02.2016 12:31] – angelegt danyel | pruefungen:hauptstudium:ls4:ezs-2016-02-23 [23.02.2016 15:08] (aktuell) – danyel | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
===== Allgemein ===== | ===== Allgemein ===== | ||
- | Atmosphäre war gut, Fragen manchmal nicht ganz eindeutig, habe dann entweder falsche oder zu weit vorgegriffene Antworten gegeben, woraufhin | + | Atmosphäre war gut, Fragen manchmal nicht ganz eindeutig, habe dann entweder falsche oder zu weit vorgegriffene Antworten gegeben, woraufhin |
===== Fragen ===== | ===== Fragen ===== | ||
- | -TBA- | + | * -scherzhaft- Na, kannst du dir schon denken, welche Frage gestellt wird? |
+ | * Kein bisschen. Haha. Gut, man hat die Unterscheidung zwischen weichen, festen und harten Terminen. | ||
+ | * weich: Terminverletzung tolerierbar, | ||
+ | * fest: Terminverletzung tolerierbar, | ||
+ | * hart: Terminverletzung intolerierbar, | ||
+ | * Du studierst Informatik, oder? Ich habe mich schon immer gefragt, wieso wir eigentlich Ausnahmebehandlungen brauchen. Wir berechnen doch die WCET, benchmarken und treffen alle Vorkehrungen, | ||
+ | * Ich war nicht vorbereitet für diese Frage und habe Slack-Stealing angesprochen oder dynamische Deadlines bei einer sporadischen Aufgabe, was er aber nicht hören wollte. Er sagte, dass es eine Transferfrage ist und so in den Folien nicht steht - hat mich dann langsam herangetastet und sind dann darauf gekommen, dass wir "keine Götter" | ||
+ | * Stichpunkt WCET - wir haben ja verschiedene Formen kennengelernt, | ||
+ | * Ein Messgerät z.B. Oszilloskop oder Zeitgeber der CPU | ||
+ | * Manuelle Analyse der Funktion/ | ||
+ | * Problem: wie misst man richtig? Verdrängung etc. zerstören die Analyse! | ||
+ | * Problem: WCET Analyse geht grundsätzlich immer von Cache Misses aus! Bei messbasiert hier aufpassen. | ||
+ | * Vorteil gegenüber mikroskopischer/ | ||
+ | * Wir haben beispielsweise ein taktgesteuertes System gegeben. Welches Schema haben wir in der Vorlesung kennengelernt - was die E-Techniker immer gerne machen? | ||
+ | * Die Busy-Loop? " | ||
+ | * Hier habe ich dann einen kleinen Code-Ausschnitt gemacht mit for(;;) { task1(); task2(); task3(); wait(); } | ||
+ | * Wenn Task 2 ein Drittel mal so häufig dran kommen soll wie Task 1? | ||
+ | * Dann kann man einen Rundenzähler einbauen und um task 2 eine kleine if-Abfrage herumbasteln mit cnt % 3 == 0 | ||
+ | * Fällt dir hier ein Problem auf? | ||
+ | * Wir haben bei Task 2 und Task 3 sogenannte " | ||
+ | * Hier kann man die jeweiligen Tasks abmessen, und dann die " | ||
+ | * Passt dann nicht alles mit der Busyloop? | ||
+ | * (Er hat dann noch Termine angesprochen, | ||
+ | * Nach den jeweiligen Tasks kann man die Terminabfrage einbauen. | ||
+ | * (Hier ist das Problem, dass wir verpasste Termine erst im NACHHINEIN erkennen - somit wird die eventuell anstehende Ausnahmebehandlung viel zu spät eingeleitet!) | ||
+ | * Gut, wir haben nun gemerkt, dass die Busyloop nicht das Allheilmittel ist. Was können wir denn dann verwenden, sagen wir in einem taktgesteuerten System? | ||
+ | * (Ich habe Rahmen angesprochen, | ||
+ | * Was passiert denn, wenn ein Rahmen, in dem 2+ Tasks eingelastet wurden, gesprengt wird - angenommen wir haben die WCET falsch ausgerechnet, | ||
+ | * (Wenn drei eingelastete Tasks den Rahmen sprengen, ist es anscheinend unmöglich zu wissen, welcher Task " | ||
+ | * (Es wurde auch noch kurz angemerkt, dass ein so ein Rahmen praktisch eine " | ||
+ | * (Zusätzlich wurde betont, dass nur Aufgaben, die VOR dem Rahmenanfang ausgelöst werden, da eingelastet werden können - diese Ereignisse kommen als Signale rein. Stichwort " | ||
+ | * (Nach der letzten Frage unten wurde noch angemerkt, dass der Rahmen eigentlich nichts anderes ist als ein periodischer Zusteller mit " | ||
+ | * Bisschen Zeit haben wir noch. Jetzt hatten wir nur periodische Aufgaben. Was fallen dir denn für Methoden zur Abarbeitung von nicht periodischen Aufgaben ein? Was bedeuten diese überhaupt, gibt es unterschiedliche? | ||
+ | * Es gibt die aperiodischen und sporadischen. | ||
+ | * aperiodisch: | ||
+ | * Diese werden durch Signale ausgelöst, die asynchron zur Laufzeit auftreten - oft bedingt durch die physikalische Umwelt. | ||
+ | * Man kann sie im Unterbrecherbetrieb oder Hintergrundbetrieb abarbeiten. | ||
+ | * Unterbrecherbetrieb: | ||
+ | * Hintergrundbetrieb: | ||
+ | * Unterbrecherbetrieb wird oft hergenommen, | ||
+ | * Andersherum dann lieber Hintergrundbetrieb. | ||
+ | * Kennen Sie noch andere Methoden? | ||
+ | * Kurz Slack-Stealing angesprochen: | ||
+ | * Periodischer Zusteller: | ||
+ | * Bei Anfang der Auffüllperiode wird geguckt: gibt es Tasks? ja -> arbeiten. nein -> budget = 0 | ||
+ | * Problem: Task, der kurz nach Auffüllperiode ankommt, muss bis zur nächsten Periode warten. | ||
+ | * Also? | ||
+ | * Aufschiebbarer Zusteller: Behält Budget über die Periode hinweg. | ||
+ | * Problem: Double Hit - Tasks, die an der Grenze der Auffüllperiode auftauchen, lösen Doppeltreffer aus: kurz davor wird das Budget des Zustellers verbraucht und bekommt unmittelbar nochmal Budget -> weist in der Zeit kein periodisches Verhalten auf und verletzt evtl. Zeitresktriktionen anderer Aufgaben. | ||
+ | * Wunderbar. Und dass du den SpSL Sporadic Server verstanden hast, glaube ich dir! | ||