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

(Aufgabe 5: Betriebsmittelvergabe (5 Punkte))
(Aufgabe 3: Semaphoren (10 Punkte))
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 13: Zeile 13:
 
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.
 
** Grund: Nicht unterbrechbarer Zeitraum mötlichst klein, damit keine/wenige Interrupts verloren gehen.
  
<br>
 
  
== Aufgabe 2: Assembler (15 Punkte) ==
+
== Aufgabe 2: Assembler (12 Punkte) ==
Programmieren sie in Assembler die Funktion _binom(int *a, int *b)
+
Programmieren sie in Assembler die Funktion _binom(int *a, int *b) (10 Punkte)
  
 
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.
 
*Berechne a²+2ab+b² (!) und speichere das ergebnis in *b und gib 0 bei geglückter Operation zurück.
Zeile 23: Zeile 22:
 
**Falls das passiert gib ebenfalls -1 zurück.(Rückgaben erfolgen wie üblich im Register D0)
 
**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).
 
*Schreibe desweiteren eine Subroutine, die das Quadrat einer Zahl berechnet (geht in 2 Zeilen).
<br>
+
 
 +
Gib den Stack nach dem Aufruf der Subroutine und der Sicherung der Register an (2 Punkte)
  
 
== 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..
<br>
 
  
== Aufgabe 4: Monitore (12 Punkte) ==
+
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 m > 2n ist, dann muss eine Maus an Bord kommen
 +
*wenn m < 2n ist, dann muss ein Elefant an Bord kommen
 +
*wenn m = 2n 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.
 
In einem Schwimmbad gibt es ein Schwimmbecken.
 
Es gibt Turmspringer, Schwimmer und den Bademeister.
 
Es gibt Turmspringer, Schwimmer und den Bademeister.
Zeile 60: Zeile 71:
  
  
<br>
+
 
Irgendwie komme ich nicht auf 50 Punkte :>
+
== Siehe auch ==
 +
 
 +
[[Informatik 3/Gedächtnisprotokoll Klausur SS07]]
 +
 
 +
[[Informatik B/Gedächtnisprotokoll mündliche Nachprüfung SS07]]

Aktuelle Version vom 28. Februar 2008, 20:53 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 (12 Punkte)

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

  • 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).

Gib den Stack nach dem Aufruf der Subroutine und der Sicherung der Register an (2 Punkte)

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 m > 2n ist, dann muss eine Maus an Bord kommen
  • wenn m < 2n ist, dann muss ein Elefant an Bord kommen
  • wenn m = 2n 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

Informatik B/Gedächtnisprotokoll mündliche Nachprüfung SS07