Nebenläufiges Programmieren Vorlesung im Sommersemester 2008

Daten:

Termin: Mo 8:15 - 9:45, CAP3 - R.I
Mi 8:15 - 9:45, LMS2 - R.Ü1 (Hinweis: die Vorlesung am 07.05. findet in der Alten Mensa gr.HS statt)
Dozent: Prof. Dr. Willem-Paul de Roever
Übungen: Di 10:15 - 11:45 (Wilhelm-Seelig-Platz 3, Raum 3)
Mi 10:15 - 11:45 (Wilhelm-Seelig-Platz 3, Raum 1)
Sprechstunde: Do 8:00 - 10:30 (CAP 4, Raum 1210)

Die vollständigen studientechnischen Daten für das Projektvorbereitungsmodul Bachelor (BA5) sowie die Diplom- und Masterstudiengänge und Bachelor Wahlpflichtmodul sind über das Univis-System zu finden.

Bei Fragen zum Kurs, email an Jens Schönborn.

Ergebnisse:

Aushang der Ergebnisse: Hier!

Anmeldung:

Bitte melden sie sich rechtzeitig in der StudiDB für diese Veranstaltung an.
Beachten Sie hierbei, dass für die unterschiedlichen Studiengänge unterschiedliche Veranstaltungen eingetragen sind. Die genauen Veranstaltungsbezeichnungen hierfür finden Sie ebenfalls im Univis-System:

Bachelorstudenten, die diese Veranstaltung als Projektvorbereitungsmodul verwenden wollen, müssen sich für die folgenden Veranstaltungen eintragen:
Projektvorbereitungsmodul Bachelor (BA5): [Vorlesung], [Übung]

Studenten der Diplom- und Masterstudiengänge, sowie Bachelorstudenten, die diese Veranstaltung als Wahlpflichtmodul besuchen, tragen sich bitte für die folgenden Veranstaltungen ein:
Diplom- und Masterstudiengänge, WI: [Vorlesung], [Übung]


Übungsserien:


Folien und Paper zur Vorlesung:


Beschreibung:

Fokus: Konzepte und Techniken verteilter Programmierung mit Schwerpunkt auf ihrer Ausdrückbarkeit und Anwendung in Java, Ada, CSP, und POSIX

Schlüsselworte: Prozesse und Threads, nebenläufige Ausführung, gemeinsame Objekte und gegenseitiger Ausschluß, Monitore und bedingte Ausführung, Verklemmung, Sicherheit und Lebendigkeitseigenschaften, modellbasierter Entwurf, Kommunikation durch Nachrichtenaustausch, Architekturen für Nebenläufigkeit, Pipelining, Cachekohärenz.

Kursinhalt: Während die Einführungsveranstaltung in Betriebssysteme sich im Kern damit beschäftigt, wie man eine ganz bestimmte Auswahl an Synchronisations-, Scheduling-, Monitor-Primitiven zur Erzeugung, Kommunikation und Synchronisation nebenläufiger Prozesse implementiert, legt diese Vorlesung den Schwerpunkt auf Konzepte und Techniken nebenläufiger Programmierung im allgemeinen, auf ihre unterschiedlichen Anwendungsfelder und verschiedene zugrundeliegende Modelle.

Der Kurs gliedert sich in folgende Teile: Nebenläufigkeit mit gemeinsamen Speicher (Teil 1), verteilte Programmierung (Teil 2) und parallele Programmierung einschließlich die Ausführung identischer Prozesse auf einem Grid (Teil 3). Für alle 3 Teile befaßt sich die Vorlesung auch mit der Implementierung dieser Konzepte.

  1. "scientific computing", soweit die Zeit erlaubt.
Das Lehrbuch des Kurses ist in der Hauptsache [1]; weiteres Material aus [2][3].



Links zu Java

Java Tutorial
Serialization
A short article on object serialization.
Class Server [download link]
ClassFileServer is an implementation of a mini-webserver that can be used by an RMI application to load classes over the network.

References

[1]
G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 2000.

[2]
J. Magee and J. Kramer. Concurrency: State Models and Java Programs. Wiley, 1999.

[3]
F. Schneider. On Concurrent Programming. Graduate Texts in Computer Science. Springer-Verlag, 1997.

This document was originally translated from LATEX by HEVEA.