Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007: Unterschied zwischen den Versionen

(das mit den 50 punkten entfernt, wiki-syntax angewendet und Verweis auf den Informatik-3-Teil eingebaut)
(Aufgabe 4: Monitore (12 Punkte))
Zeile 43: Zeile 43:
  
  
== Aufgabe 4: Monitore (12 Punkte) ==
+
== Aufgabe 4: Monitore (13 Punkte) ==
 
In einem Schwimmbad gibt es ein Schwimmbecken.
 
In einem Schwimmbad gibt es ein Schwimmbecken.
 
Es gibt Turmspringer, Schwimmer und den Bademeister.
 
Es gibt Turmspringer, Schwimmer und den Bademeister.

Version vom 30. Juli 2007, 13:47 Uhr

Aufgabe 1: Kurze Fragen (10 Punkte)

  • Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung?
    • blockierend / nicht blockieren vs. Nachricht geht evtl. verloren
  • Vorteile von leichtgewichtigen Prozessen
    • schnellerer Prozesswechsel, da gemeinsamer Adressraum
    • einfache Implementierung
    • eigener Scheduler ?
  • Erkläre die zwei Stufen von Interruptbehandlung. Grund der Zweistufigkeit?
    • Stufe 1: nicht unterbrechbar, nur nötigste Behandlung (speichern).
    • Stufe 2: abschließende Behandlung des interrupts...
    • Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.


Aufgabe 2: Assembler (13 Punkte)

Programmieren sie in Assembler die Funktion _binom(int *a, int *b)

  • Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.
  • Falls a<0 oder a>32767 oder b>32767 oder b<-32768 gib sofort -1 zurück.
  • Bei der addition der werte a², b² und 2ab kann es zum Überlauf kommen.
    • Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)
  • Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).


Aufgabe 3: Semaphoren (10 Punkte)

Elefanten und Mäuse gehen auf ein Schiff. Dabei sollen immer möglichst doppelt so viele Mäuse wie Elefanten auf dem Schiff sein. Nur eine Differenz von 1 ist erlaubt..

sei n die Anzahl der Elefanten und m die Anzahl der Mäuse.

wenn n Elefanten auf dem Schiff sind, dann muss beachtet werden:

  • wenn n > 2m ist, dann muss eine Maus an Bord kommen
  • wenn n < 2m ist, dann muss ein Elefant an Bord kommen
  • wenn n = 2m ist, dann muss man schauen:
  • um das Gleichgewicht zu erhalten können an Bord kommen:
Elefant, Maus, Maus oder Maus, Elefant, Maus, damit keine Verletzung der ersten 2 Punkte zustandekommt.

die Aufgabe hat echt reingehauen


Aufgabe 4: Monitore (13 Punkte)

In einem Schwimmbad gibt es ein Schwimmbecken. Es gibt Turmspringer, Schwimmer und den Bademeister. Synchronisiere mit den Folgenden Regeln über Monitore:

  • Turmspringer und Schwimmer dürfen das Schwimmbecken nicht gleichzeitig benutzen.
  • Wenn kein Bademeister anwesend ist, darf kein Schwimmer ins Becken.
  • Turmspringer dürfen auch ins Becken springen, wenn Schwimmer warten, weil kein Bademeister da ist.
  • Wenn ein Bademeister anwesend ist, haben die Schwimmer vor den Turmspringern Vorrang.
  • Der Bademeister darf erst Feierabend machen (weggehen), wenn kein Schwimmer mehr im Becken ist
  • Der Bademeister darf insbesondere auch dann gehen, wenn noch Schwimmer am Beckenrand warten (voraussgesetzt, es befindet sich kein Schwimmer im Becken).
  • Es kann davon ausgegangen werden, dass es maximal einen Bademeister gibt.

Aufgabe 5: Betriebsmittelvergabe (5 Punkte)

Die Betriebsmittel werden in der Aufgabe nach preämptiver Planung nach Laufzeit vergeben, gegeben sind folgende Prozesse:

Info4-ss2007-5.png

Geben Sie für die jewelige Zeit die Vergabereihenfolge für die Prozesse an:

-----------------------------------
1 2 3 4 5 6 7 8 9 10

Geben Sie zusätzlich die zeitlichen Verläufe der Inhalte der Warte-Queues an und berechnen Sie die mittlere Wartezeit.


Siehe auch

Informatik 3/Gedächtnisprotokoll Klausur SS07