Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » Fragen   (Übersicht)

Inhaltsverzeichnis

Prüfer: Prof. Dr. Wolfgang Schröder-Preikschat (BST), Dr. Daniel Lohmann (KSS)
Beisitzer: Dr. Daniel Lohmann (BST), Prof. Dr. Wolfgang Schröder-Preikschat (KSS)

Themengebiete: BST + KSS (7.5 ECTS)

Datum: September 2012

Fragen

Im Folgenden sind die wesentlichen die Pruefung bestimmenden Fragen zusammengefasst. Viele Fragen ergeben sich aber aus dem Gespraech, sind aber aus Human-Memory-Ressource-Problemen nicht aufgefuehrt …

BST

Q: Es wird ein Spinlock entwickeln von „schlecht“ nach „gut“, angefangen mit der Einzeiler-Implementierung via Test-and-set:

      void lock(lock_t *lock){
              while(TAS(lock->busy));
      }

Q: Was ist daran schlecht? Wie kann man es verbessern?
Das Spinnen im TAS verursacht Cache-Trashing. Besser Test-test-and-set:

      void lock(lock_t *lock){
              while(lock->busy != 0 || TAS(lock->busy));
      }

Q: Ist TTAS immer besser als TAS?
Nein, es kommt auf die Laenge des Kritischen Abschnittes an.

Q: Was gibt es sonst noch?

Q: Wie Funktioniert das Ticket-Lock?

Q: Welches Problem (im Bezug auf den Planer) kann es geben? Prioritaetsverletzung.

Q: Was kann man bei all den Varianten und den Problemen in Abhaengigkeit zum Planer machen um das besser in der Griff zu bekommen?
Man kann es konfigurierbar machen.

KSS

Q: Wie kann man die verschiedenen Varianten der Locks darstellen.
Feature-Diagram. Hier wollte er das man die TAS-Variante als Basis der TTAS- und Ticket-Varianten modelliert.

Q: Schreibe einen Aspect der das TTAS implementiert!

Q: Jetzt hat man im TAS und TTAS Code-Doppelung. Was kann man dagegen tun?
<ueberleg> Nichts.

Q: Kann man nicht aus dem TTAS das TAS aufrufen?
Ja mit tjp→proceed(). Anmerkung: Das war sehr verwirrend, denn dann hat man anstatt ein TTAS ein Test mit einem anschliessenden TAS und kein TTAS! … aber naja so wollte er es.

Q: Fuer die Ticket-Variante braucht man auch noch Struktur. Wie macht man das?
Slice

Q: Wenn man jetzt den Aspect fuer die TTAS- und fuer die Ticket-Variante einweben laesst funktioniert das?
Es kommt darauf an in welcher Reihenfolge die Aspecte eingewoben werden, z.B. wenn zuerst TTAS dann Ticket dann ruft die Ticketvariante das TTAS und das das TAS auf, geht also (auch wenn es keinen Sinn macht). Anders herum also wenn erst der TTAS-Aspect dann der Ticket-Aspect wirkt dann ruft man zuerst aus dem Ticket das TTAS (und somit das TAS) auf locked als und zieht sich dann ein Ticket. Wobei das alles keinen Sinn macht siehe Anmerkung oben!

Q: Kann man die Reichenfolge irgendwie festlegen? Ja, order advice. Q: Wie kann man das Feature Diagram nun so bilden dass man entweder TTAS oder Ticket haben kann?
===== Anmerkung ===== Im Grossen und Ganzen braucht man (glaube ich) nicht zu viel (auswendig-)lernen es kommt sehr auf das Verstaendnis an. Man sollte aber auf sehr unklare Fragestellungen einstellen die Teilweise auf etwas abzielen dem sich mir der Sinn nicht erschiesst (siehe Anmerkung oben). Aber dennoch eine Faire und Entspannte Pruefung wie immer am LS4.