Verteilte Systeme - SS 2005
Vorlesungsüberblick
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 I cannot get something done
because a machine I've never heard of is down".
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 Wichtung und
untersucht dabei verteilte Systeme aus sehr praktischer Sicht.
Im Vordergund steht die Systemsoftware, die zum Aufbau verteilter Systeme
erforderlich ist. In dem Sinne ist die Veranstaltung eine (weitere) Vertiefung
in Betriebssysteme. Spezielle algorithmische Fragestellungen werden in der
ergänzenden Lehrveranstaltung Verteilte Algorithmen behandelt.