Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » Lösungsvorschlag   (Übersicht)

Lösungsvorschlag

Aufgabe 3:

Bei Ausnahmesituationen,wie sie bei der Ausführung von Programmen auftreten können werden Traps/Interrupts unterschieden

a) Beschreiben sie die beiden Arten

i. Wodurch entstehen die Ausnahmesituationen

  Trap : unbekannter Befehl, falsche Adressierungsart oder Rechenoperation Systemaufruf, Adressraumverletzung, unbekanntes Ger¨at Seitenfehler im Falle lokaler Ersetzungsstrategien
  Interrupt: Signalisierung ” externer“ Ereignisse Beendigung einer DMA- bzw. E/A-Operation Seitenfehler im Falle globaler Ersetzungsstrategien

ii.wodurch unterscheiden sie sich?

  Trap:  synchron, vorhersagbar, reproduzierbar
  Interrupt:assynchron, nicht vorhersagbar, nicht reproduzierbar //ich glaub hier fehlt ein "nicht" oder?kopy paste wollte nicht

iii.geben sie jeweils zwei Bsp an

  Trap : teilen durch 0,"page fault"
  Interrupt: Tastatureingabe, externer kill Befehl.

b) Man unterschiedet bei der Ausnahmebehandlung Wiederaufnahmemodell und Beendigungsmodell.Was versteht man darunter und bei welchen Ausnahmen kann wie verfahren werden

Wiederaufnahmemodell (engl. resumption model) die Behandlung der Ausnahmesituation fuhrt zur ¨ Fortsetzung der Ausfuhrung des unterbrochenen Programms ¨ ein Trap kann, ein Interrupt muss so behandelt werden Beendigungsmodell (engl. termination model) die Behandlung der Ausnahmesituation fuhrt zum ¨ Abbruch der Ausfuhrung des unterbrochenen Programms ¨ ggf. als Folge eines schwerwiegenden Laufzeitfehlers ein Trap kann, ein Interrupt darf niemals so behandelt werden

c) Wie wird eine Ausnahmebehandlung von der CPU abgewickelt? Der momentane Zustand wird gespeichert(register etc auf den Stack gepushed) Interrupt bekommt eine ID,die nun im Befehlszähler bekommt und den alten Befehlszähler auf den Stack mit den Registern pushed,routine wird abgehandelt und alles wieder gepopt.

Aufgabe 4:

a) kooperatives/preemtives FCFS:Prozesse werden nach Ankunftszeit eingeplant,nicht-verdrängendes Verfahren, setzt kooperative Prozesse voraus, hohe Antwortzeit,niedriger E/A durchsatz suboptimal bei mixen von kurzen und langen CPU stößen,problem ist der Konvoi effekt kurze folgen langen Prozessen. ⇒ sinnvoll bei keinen Echtzeitsystemen!Sehr einfach zu implementieren SPN:nach erwarteter Bedienzeit eingeplant,a priori wissen über prozesslaufzeit.Stapel:Programmierer setzt fristen,produktion: statistisch durch probeläufe,dialog:abschätzung zur laufzeit. Abarbeitung einer aufsteigend dortierten bereitliste