Verteilte Systeme bestehen aus einem (ggf. sehr großen) Verbund
unterschiedlicher Rechner, die ihrerseits durch z.T. sehr unterschiedliche
Systemsoftware betrieben werden. Zur Realisierung des Rechnerverbunds kommen
dabei ebenso unterschiedliche Netztechnologien zum Einsatz. Verteilte Systeme
sind höchst komplexe Gebilde, deren Entwicklung und Wartung große
Herausforderungen offenbaren.
Die Heterogenität ihrer Komponenten stellt eines der großen Probleme
verteilter Systeme dar. Gleichwohl ist Offenheit angestrebt, die es
erlauben soll, dass (beliebige) Komponenten hinzugefügt, ersetzt und/oder
wieder entfernt werden können. Nicht nur in dem Zusammenhang ist es von
Bedeutung, Skalierbarkeit zu unterstützen und damit die
Funktionstüchtigkeit
des Systems auch bei steigender Anzahl von Benutzern bzw. Komponenten zu
gewährleisten. Nebenläufigkeit und nicht zuletzt Sicherheit sind
weitere
Problempunkte, die sich in einem solchen dynamischen Umfeld alles andere als
einfach lösbar darstellen. Und bedingt durch die Tatsache, dass die
Komponenten (d.h. Rechner, Netze, Prozesse) eines verteilten Systems
unabhängig voneinander ausfallen können, unterscheidet sich die
Fehlerverarbeitung grundlegend im Vergleich zu Einzelsystemen - worin u.a.
auch die fast schon legendäre Definition von Leslie Lamport
begründet ist:
"A distributed system is one in which the failure of a computer
you didn't even know existed can render your own computer
unusable".
Daher wird der Schaffung von Transparenz eine sehr große Bedeutung
beigemessen,
um die den verteilten Systemen inhärente Komplexität ab
einer bestimmten Ebene nicht mehr sichtbar erscheinen zu lassen.
Eine wichtige Motivation für den Aufbau verteilter Systeme besteht in der
gemeinsamen Nutzung von Betriebsmitteln. Die Verwaltung von Betriebsmitteln
ist eine der ursprünglichsten Aufgaben von Betriebssystemen. Damit sind
Betriebssysteme im Kontext verteilter Systeme von zentraler Bedeutung,
sie bilden das Rückgrat des Gesamtkomplexes.
Die Vorlesung behandelt die oben genannten Problemfelder (Heterogenität,
Offenheit, Skalierbarkeit, Nebenläufigkeit, Sicherheit,
Fehlerverarbeitung, Transparenz) mit unterschiedlicher Gewichtung und
untersucht dabei verteilte Systeme im ersten Teil der Vorlesung aus sehr
praktischer Sicht. Im Vordergrund steht hier die Systemsoftware,
die zum Aufbau verteilter Systeme erforderlich ist.
Im weiteren Verlauf der Veranstaltung soll zudem auf wichtige algorithmische Grundlagen
verteilter Systeme eingegangen werden. Hier ist die Behandlung von Zeit,
Wahlalgorithmen sowie Themen wie Verteilte Terminierungserkennung oder
Einigungsalgorithmen zu nennen. (Mehr Informationen zu diesen Themen
können bei der Vorlesung
Verteilte Algorithmen gefunden werden.)
Um einen unbenoteten Schein zu erhalten, sind alle Übungsaufgaben erfolgreich zu bearbeiten. Dabei bedeutet "erfolgreich bearbeitet", dass die Lösung einer Übungsaufgabe abgegeben und (vom jeweiligen Betreuer der Übung) für mindestens ausreichend befunden worden sein muss. Im Falle von Implementierungsaufgaben - was der Normalfall sein wird - sind ist die Lauffähigkeit der Implementierung zu demonstrieren und der Quellcode kurz zu erläutern. Die Abgabe sollte soweit möglich durch die gesamte Gruppe erfolgen.
Voraussetzung für den Erwerb des benoteten Scheins ist (1) der unbenotete Schein und (2) eine erfolgreiche "Scheinprüung" über den Inhalt der Vorlesung und der Übungsaufgaben. Neben der Prüfung haben auch Zustand und Qualität der Quellprogramme Einfluss auf die Benotung. Dass der Schein benotet werden soll, ist zu Beginn der Veranstaltung bekanntzugeben.
Für eine Prüfung (bei Wahl der Lehrveranstaltung als Prüfungs- oder Schwerpunktfach) sind grundsätzlich die Themen der Vorlesung und der Übung von Belang. Beste Grundlage für die Prüfung ist daher neben der Teilnahme an Vorlesung und Übung insbesondere auch die erfolgreiche Bearbeitung aller Übungsaufgaben. Die Prüfungstermine können und sollten mit dem jeweiligen Prüfer im Vorfeld vereinbart werden, bevor sie dem Prüfungsamt nach erfolgter Anmeldung zugehen.
Die Folien bilden den roten Faden durch die Vorlesung. Sie können (und sollen) eine ergänzende Vorlesungsmitschrift und die ausführliche Erläuterung der Themen in der Fachliteratur nicht ersetzen!
Die Vorlesungsfolien werden im PDF-Format mit vier Folien pro Seite angeboten. Bei entsprechender Nachfrage können wir gerne auch andere Formate generieren.