Informatik 4 (StuPO90)/Gedächtnisprotokoll Klausur SoSe 2007: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
− | == Kurze Fragen == | + | == Aufgabe 1: Kurze Fragen (10 Punkte) == |
* Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung? | * Unterschiede und Vorteile von synchroner und asynchroner Nachrichtenübertragung? | ||
** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren | ** blockierend / nicht blockieren vs. Nachricht geht evtl. verloren | ||
Zeile 12: | Zeile 12: | ||
** Stufe 2: abschließende Behandlung des interrupts... | ** Stufe 2: abschließende Behandlung des interrupts... | ||
** 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) == | ||
+ | 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). | ||
+ | <br> | ||
+ | |||
+ | = 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.. | ||
+ | <br> | ||
+ | |||
+ | = 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). | ||
+ | <br> | ||
+ | Irgendwie komme ich nicht auf 50 Punkte :> |
Version vom 26. Juli 2007, 13:33 Uhr
Inhaltsverzeichnis
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..
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).
Irgendwie komme ich nicht auf 50 Punkte :>