Zum Inhalt springen
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

Aus FreitagsrundenWiki
TomyLobo (Diskussion | Beiträge)
Zeile 27: Zeile 27:
== Aufgabe 3: Semaphoren (10 Punkte) ==
== Aufgabe 3: Semaphoren (10 Punkte) ==
Elefanten und Mäuse gehen auf ein Schiff.
Elefanten und Mäuse gehen auf ein Schiff.
Dabei sollen immer möglichst doppelt so viele Möuse wie Elefanten auf dem Schiff sein.
Dabei sollen immer möglichst doppelt so viele Mäuse wie Elefanten auf dem Schiff sein.
Nur eine Differenz von 1 ist erlaubt..
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:
<ul>
<li>wenn n > 2m ist, dann muss eine Maus an Bord kommen</li>
<li>wenn n < 2m ist, dann muss ein Elefant an Bord kommen</li>
<li>wenn n = 2m ist, dann muss man schauen:</li>
<li>um das Gleichgewicht zu erhalten können an Bord kommen: <br> Elefant,Maus,Maus oder
Maus,Elefant,Maus, damit keine verletzung der ersten 2 Punkte zustandekommt.</li>
<br>
<br>



Version vom 27. Juli 2007, 20:03 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 (15 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.

  • Aufgabe 4: Monitore (12 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:

    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.



    Irgendwie komme ich nicht auf 50 Punkte :>