Klausur Verteilte Systeme

Werbung
Klausur Verteilte Systeme
15.6. R120A 8:00-9:30
5 Aufgaben, 50 Punkte (8 – 12 pro Aufgabe)
45-50 1.0
44
1.1
35
2.0
25
3.0
15
4.0
http://www.bts.fh-mannheim.de
Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)
1. Abschreibaufgabe ausm Buch

Listen Sie die Unterschiede zwischen DNS und CDS
5.1 Seite 336 - 347
o Namensauflösung bei DNS von vorne nach hinten zur Wurzel hin, bei CDS von hinten
nach vorne von der Wurzel weg
o Bei CDS ist das Anlegen von Zugriffsrechten möglich.
o Bei CDS besitzt jede Servermaschine ein Clearinghouse mit mind. der Wurzel darin.
o DNS: Resolver direkt integriert – CDS: spezieller GDA der andere CDS-Server zum
Abfragen entfernter Zellen auffindet

Vergleichen Sie Unix File Symantik und Session Semantik am Beispiel von NFS und DFS
2.1.5/5.2.2 Seite 65 / 353
Session Semantik ist eine abgeschwächte File Semantik, das bedeutet, dass die Änderungen die
ein Client an einer Datei ausführt erst nach dem Speichern zurück auf den Server geschrieben
werden. Es bleiben nur die Änderungen erhalten, die vom Client der als letztes die Datei
schließt gemacht werden.
Dieses Problem tritt bei der Unix File Semantik nicht auf, da hier die Zustände in Form von
Tokens einer Datei mit an den Client übergeben werden.

Wie ist die Unix File Symantik bei DFS realisiert
5.2.2 Seite 353/354/355
wird durch das Token Verfahren realisiert

Warum besitzt NFS nur die Session Semantik
5.2.1 Seite 350/351
Weil NFS ein zustandloser Server ist

Welche Interaktionssemantik erreichen Sie mit Datagram Sockets?
2.1.1/3.1.1 Seite 34/93/94
- At most once-Semantik

Parameter des Aufrufs Socket()!
3.1.1.1 Seite 96
 Client und Server benötigen Sockets des gleichen Typs
o Address family (family: AF_INET, AF_NS, AF_UNI)
o Sockettyp (type: SOCK_DGRAM, SOCK_STREAM, SOCK_RAW)
o optional: spezielles Protokoll (protocol: definiert in netint/in.h oder netns/ns.h)

Programmierung
o Windhundrennen
o Broker mit Sockets
o Koordinator

„Buche Flug für X nach Y“: Welche Ablaufsemantik?
2.1.1 Seite 30 - 37

Paralleler oder itterativer Server wenn Server SMP?
1. Seite 3
=> eher parallel, falls korrekt implementiert

Programmierung mit Threads
2.1.2.1 Seite 38-45
o Vergleich Prozesse – Threads
o Threads auf Benutzerebene
 Kein Umschalten zwischen Benutzermodus und Systemmodus
 Unfaires Scheduling
 Keine Kenntnis mehrfach vorhandener CPUs
 Keine Belastung für das Betriebssystem durch viele Threads
o Threads auf Systemebene / Kernelebene
 One-to-one mapping
 Scheduler berücksichtigt Threads und nicht Prozesse => mehrere CPUs werden
verwendet => echte parallele Abarbeitung der Threads
 Wechsel vom Benutzermodus in Systemmodus beim Anlegen von neuen
Threads
 Hohe Belastung für Betriebssystem durch viele Threads
o Hybrid: two-level Scheduler
 Abbildung Benutzerthreads auf Kernelthreads
 Some-to-one mapping
 Wenig aktive Threads bekommen keine Zuordnung zu Kernelthreads

Warum kann beim ringbasierten Algorithmus nicht der Prozess P(i), der den Ausfall
erkannt hat, neuer Master werden(,wenn er nicht Bully oder Mini ist)?
4.2. Seite 324
eben weil er nicht bully oder mini ist

Begründen Sie das nichtdeterministische Verhalten von Client - Server - Systemen.
4. Seite 319
Signallaufzeiten können nicht vorherbestimmt werden. Bei einem Algorithmus der auf
mehreren Rechnern läuft, weiss man nicht welcher Rechner zuerst antwortet.
“Die Reihenfolge, in welcher die Clients ihre Abfragen senden, sei bekannt, da jedoch die
Übertragungszeiten unterschiedlich sind, können die Abfragen in einer anderen Reihenfolge
eintreffen.“
-> Und diese Reihenfolge ist nicht voraussagbar.

Begründen Sie, warum es im verteilten System keinen gemeinsamen Zustand gibt.
4. Seite 317
Die Systeme können sicht nicht echt synchronisieren und erreichen nie eine gemeinsame Zeit
(Signallaufzeit)
-> Rechner A schickt einen Status an Rechner B. Während das Signal zu Rechner B gelangt,
läuft die Zeit weiter. Dadurch kommt der gemeinsame Zustand nicht zustande.

Warum gibt es kein deterministisches Verfahren in verteilten Systemen?
4. Seite 319
Siehe 2 Fragen weiter oben: “Begründen Sie das nichtdeterministische Verhalten von Client
- Server - Systemen.“

Minimale Anzahl der nachrichten bei „zentralem Algorithmus“?
5.4.1 Seite 381-383
 3 (request, reply, release)

Beispiel für „abfrage-basierten Algorithmus“
5.4.2 Seite 384
abfrage-basierter Algorithmus von Ricart und Agrawala

Token-basierter Algorithmus – was passiert bei tokenverlust / token-duplikation
5.4.2 Seite 388
bekannt aus dem LAN
logischer Ring
zentraler Überwachungsalgorithmus nötig bei Tokenverlust oder Tokenduplikation
Beispiel DFS

Wie oft muss der Uhren synch-Algorithmus gestartet werden bei 2 mal maximalem drift p
und maximaler Abweichung d
5.5.1 Zeitsynch seite 390
o driften in entgegengesetzter Richtung ab 2p ist max. Abweichung
o Zeit delta t
o Ergebnis: 2p mal delta t
o Muss d/2p Seklunden gestartet werden
Zeit ist nicht zurückstellbar!

Warum müssen die p und v-operationen unter wechselseitigem Ausschluß laufen?
5.2.2 Seite 355
p(paasere)-Operation bezieht sich auf "lock" -->
sperren v(verlaad)-Operation bezieht sich auf "unlock" --> freigeben
aus Betriebssysteme in Kombi mit Semaphoren
Du möchtest nicht einen Prozess sperren lassen und jemand anders entriegelt ihn, deshalb
wechselseitiger Ausschluss.
Client mit Token hat exklusive Rechte auf File.
Kurzfassung / Übersicht:
Datagram- StreamSocket programmierung
3.1.1 Seite 93
Logische Ordnung
4.1 Seite 320
Warum gibt es keine gemeinsame zeit
Tier-modelle
1.3.1 Seite 17-20
„Middleware“ (3.), programmiertechniken
1.3.2 Seite 21
c+ s agent
2.3.7 Seite 78
ähnlich den abbildungen
rpc
3.2 Seite 137ff.
stubs - wozu, wie kann man generieren
3.3.1 Seite 170
nameserver, broker und beides im zusammenhang, corba
3.3/3.3.2 Seite 168/184-202
vorteile corba gegenüber RMI
3.3 Seite 169
wozu dient registry
3.3.1 Seite 170
netzwerk- und verteiltes BS
1. Seite 1-17
zeitsynch
5.5 Seite 388-394
parallelkonkurrenz
was versteht man unter parallel / verteilt / konkurrent programm
2. Seite 27-45
thin / thick / full client
1.3.1 Seite 18/19
zustandslose / zustandsspeichernde server
2.1.4 Seite 58
Herunterladen