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)/Stichpunkte zur Klausur SoSe 2006

Allgemeines

Diese Seite sammelt Informationen der Info4-Klausur am 25.07.2006.

  • Die Aufgaben sind mittlerweile ziemlich an die Klausur angepasst.
  • Insgesamt waren 50 Punkte zu erreichen.
  • Es gibt einen privaten Zusammenschrieb mit vielem von dem, was Benutzer:mutax vor der Klausur wichtig fand...

Aufgabe 1: Allgemeine Fragen

5 Punkte.

  1. erklären Sie den Unterschied zwischen den Assemblerbefehlen ADD und ADDA
  2. Welche Methoden der Javaklasse rmi.Naming werden für die Realisierung eines Methodenfernaufrufs:
    1. auf Client- und
    2. Serverseite benötigt.
  1. Warum ist ein blockierendes signal() bei Monitoren evtl. unerwünscht?
  2. auf info4.klausur.tu-berlin.de wird ein Programm gestartet, das auf Port XY einen Socket öffnet (Quellcodeauszug war gegeben)
    1. schreiben Sie den Code der notwendig ist, um bei einem Client eine Verbindung mit diesem Server zu öffnen (ohne Exceptionhandling)
  3. Spezielles Verhalten zu Semaphoren
    1. -> weiss ich nicht mehr

Aufgabe 2: Assembler

8 Punkte.

  1. Textaufgabe, Algorithmus realisieren:
    1. Eine Zahl wird gegeben,
    2. falls Zahl gerade null liefern,
    3. sonst alle ungeraden Zahlen bis zu dieser Zahl aufsummieren und diese zurückgeben
  2. Kellerspeicher aufzeichnen:
    1. nach Sichern der Register und
    2. SP einzeichnen

Aufgabe 3: Semaphore

11 Punkte.

  1. 2 Prozesse, die sich nach vorgegebenen Regeln verhalten programmieren
    1. Getränkeautomat, der nie leer wird
    2. Käufer, immer nur einer am Automat
  2. ein weiterer Prozess kommt hinzu - ausprogrammieren
    1. Getränkelieferant der wartet bis Automat leer und ihn dann füllt
    2. Der Automat hat nur noch 50 Flaschen, dann isser leer und muss wiederbefüllt werden
    3. Automat ist inital leer

Aufgabe 4: Monitore

12 Punkte.

  1. Gegeben ist die Beschreibung eines Synchronisierungsproblems.
  2. 3 Threads schreiben, in Java ausprogrammieren
    1. Tankstelle mit Autos und Servicetechniker
    2. Es gibt 2 oder mehr Servicetechniker, immer nur einer an der Zapfsäule
    3. beliebig viele Autos die Tanken wollen, aber nur wenn die Zapfsäule nicht gerade gewartet wird

Aufgabe 5: Nachrichtenaustausch

10 Punkte.

  1. Sockets benutzen, Java programmieren, Nachrichtenaustausch
    1. Eine Threadklasse ausprogrammieren, von der dann mehrere parallel laufen
    2. Diese verbinden parallel zu einem server und laden Teile einer Datei herunter (diese Methode ist als 'gegeben' vorausgesetzt)
    3. Wir sollen nun dafür sorgen, dass nie mehr als 'maxConnections' Clienten gleichzeitig

etwas runterladen, auch wenn man das eigentlich serverseitig machen sollte.....

    1. Dabei muss die Countervariable über die Objektgrenzen der Threads geschützt werden, so dass immer nur einer sie modifizieren kann


Aufgabe 6: Speicherverwaltung

4 Punkte.

  1. Strategien bei seitenverwalteten Systemen
  2. Konkrete Speicherverwaltung
  3. Anfragen in der Speicherverwaltung behandeln
    1. Least Frequently Used sollte simuliert werden
    1. worst und best fit kamen dran als Handsimulation,
    2. beide mit identischen Anfragen, eine konnte die Anfrage nicht bedienen