Informatik 4 (StuPO90)/Stichpunkte zur Klausur SoSe 2006: Unterschied zwischen den Versionen
(→Aufgabe 5: Nachrichtenaustausch) |
(→Aufgabe 1: Allgemeine Fragen) |
||
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Allgemeines == | == Allgemeines == | ||
− | Diese Seite sammelt | + | Diese Seite sammelt Informationen der [[Informatik 4|Info4]]-Klausur am 25.07.2006. |
− | * Die Aufgaben sind | + | * Die Aufgaben sind mittlerweile ziemlich an die Klausur angepasst. |
+ | * Insgesamt waren 50 Punkte zu erreichen. | ||
+ | * Es gibt einen privaten [http://www.freitagsrunde.org/~florian/wiki/info4.pdf Zusammenschrieb] mit vielem von dem, was [[Benutzer:mutax]] vor der Klausur wichtig fand... | ||
== Aufgabe 1: Allgemeine Fragen == | == Aufgabe 1: Allgemeine Fragen == | ||
''5 Punkte.'' | ''5 Punkte.'' | ||
− | # Unterschied zwischen | + | # erklären Sie den Unterschied zwischen den Assemblerbefehlen ADD und ADDA |
− | # Welche Methoden der Javaklasse . | + | # Welche Methoden der Javaklasse rmi.Naming werden für die Realisierung eines Methodenfernaufrufs: |
− | # | + | ## auf Client- und |
− | # | + | ## Serverseite benötigt. |
− | # Spezielles Verhalten zu Semaphoren | + | |
+ | # 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 == | == Aufgabe 2: Assembler == | ||
− | '' | + | ''8 Punkte.'' |
− | # Textaufgabe, Algorithmus realisieren | + | # Textaufgabe, Algorithmus realisieren: |
− | # Kellerspeicher aufzeichnen | + | ## 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 == | == Aufgabe 3: Semaphore == | ||
''11 Punkte.''<br /> | ''11 Punkte.''<br /> | ||
# 2 Prozesse, die sich nach vorgegebenen Regeln verhalten programmieren | # 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 | # 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 == | == Aufgabe 4: Monitore == | ||
''12 Punkte.''<br /> | ''12 Punkte.''<br /> | ||
− | Gegeben ist die Beschreibung eines Synchronisierungsproblems. | + | # Gegeben ist die Beschreibung eines Synchronisierungsproblems. |
− | 3 Threads schreiben, in Java ausprogrammieren | + | # 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 == | == Aufgabe 5: Nachrichtenaustausch == | ||
''10 Punkte.''<br /> | ''10 Punkte.''<br /> | ||
− | Sockets benutzen, Java programmieren, Nachrichtenaustausch | + | # 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 == | == Aufgabe 6: Speicherverwaltung == | ||
Zeile 35: | Zeile 61: | ||
# Konkrete Speicherverwaltung | # Konkrete Speicherverwaltung | ||
# Anfragen in der Speicherverwaltung behandeln | # 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 |
Aktuelle Version vom 14. Juli 2007, 09:55 Uhr
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