Informatik 4 (StuPO90)/Stichpunkte zur Klausur SoSe 2006
Inhaltsverzeichnis
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.
- erklären Sie den Unterschied zwischen den Assemblerbefehlen ADD und ADDA
- Welche Methoden der Javaklasse rmi.Naming werden für die Realisierung eines Methodenfernaufrufs:
- auf Client- und
- Serverseite benötigt.
- Warum ist ein blockierendes signal() bei Monitoren evtl. unerwünscht?
- auf info4.klausur.tu-berlin.de wird ein Programm gestartet, das auf Port XY einen Socket öffnet (Quellcodeauszug war gegeben)
- schreiben Sie den Code der notwendig ist, um bei einem Client eine Verbindung mit diesem Server zu öffnen (ohne Exceptionhandling)
- Spezielles Verhalten zu Semaphoren
- -> weiss ich nicht mehr
Aufgabe 2: Assembler
8 Punkte.
- Textaufgabe, Algorithmus realisieren:
- Eine Zahl wird gegeben,
- falls Zahl gerade null liefern,
- sonst alle ungeraden Zahlen bis zu dieser Zahl aufsummieren und diese zurückgeben
- Kellerspeicher aufzeichnen:
- nach Sichern der Register und
- SP einzeichnen
Aufgabe 3: Semaphore
11 Punkte.
- 2 Prozesse, die sich nach vorgegebenen Regeln verhalten programmieren
- Getränkeautomat, der nie leer wird
- Käufer, immer nur einer am Automat
- ein weiterer Prozess kommt hinzu - ausprogrammieren
- Getränkelieferant der wartet bis Automat leer und ihn dann füllt
- Der Automat hat nur noch 50 Flaschen, dann isser leer und muss wiederbefüllt werden
- Automat ist inital leer
Aufgabe 4: Monitore
12 Punkte.
- Gegeben ist die Beschreibung eines Synchronisierungsproblems.
- 3 Threads schreiben, in Java ausprogrammieren
- Tankstelle mit Autos und Servicetechniker
- Es gibt 2 oder mehr Servicetechniker, immer nur einer an der Zapfsäule
- beliebig viele Autos die Tanken wollen, aber nur wenn die Zapfsäule nicht gerade gewartet wird
Aufgabe 5: Nachrichtenaustausch
10 Punkte.
- Sockets benutzen, Java programmieren, Nachrichtenaustausch
- Eine Threadklasse ausprogrammieren, von der dann mehrere parallel laufen
- Diese verbinden parallel zu einem server und laden Teile einer Datei herunter (diese Methode ist als 'gegeben' vorausgesetzt)
- Wir sollen nun dafür sorgen, dass nie mehr als 'maxConnections' Clienten gleichzeitig
etwas runterladen, auch wenn man das eigentlich serverseitig machen sollte.....
- 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.
- Strategien bei seitenverwalteten Systemen
- Konkrete Speicherverwaltung
- Anfragen in der Speicherverwaltung behandeln
- Least Frequently Used sollte simuliert werden
- worst und best fit kamen dran als Handsimulation,
- beide mit identischen Anfragen, eine konnte die Anfrage nicht bedienen