ALP 4: Unterschied zwischen den Versionen

Aus Wiki - FSI Mathe/Info
(Übungen)
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Veraltet|Diese Seite bezieht sich auf das Modul "Nichsequentielle Programmierung" nach der [http://www.fu-berlin.de/service/zuvdocs/amtsblatt/2007/ab062007.pdf Studien- und Prüfungsordnung vom 8.2.2007].}}
Nichtsequentielle Programmierung befasst sich mit den Datenstrukturen und Algorithmen zur Synchronisation nebenläufiger Prozesse, die auf gemeinsame Daten zugreifen oder miteinander kommunizieren. Die Vorlesung stellt die grundlegenden Konzepte und Methoden der Programmierung nebenläufiger Systeme im Zusammenhang dar. Sie setzt den (auf sequentielle Programmierung beschränkten) Zyklus Algorithmen und Programmierung I-III fort und ist Voraussetzung für verschiedene Veranstaltungen des Hauptstudiums wie z.B. Netzprogrammierung, Betriebssysteme, Verteilte Systeme und Parallele Algorithmen.
Nichtsequentielle Programmierung befasst sich mit den Datenstrukturen und Algorithmen zur Synchronisation nebenläufiger Prozesse, die auf gemeinsame Daten zugreifen oder miteinander kommunizieren. Die Vorlesung stellt die grundlegenden Konzepte und Methoden der Programmierung nebenläufiger Systeme im Zusammenhang dar. Sie setzt den (auf sequentielle Programmierung beschränkten) Zyklus Algorithmen und Programmierung I-III fort und ist Voraussetzung für verschiedene Veranstaltungen des Hauptstudiums wie z.B. Netzprogrammierung, Betriebssysteme, Verteilte Systeme und Parallele Algorithmen.


=Stoff=
=Stoff=
*Programmlogik, warum Testen nicht ausreichend ist, und wie man nicht-sequentielle Programme korrekt beweist.
*Programmlogik, warum Testen nicht ausreichend ist, und wie man nicht-sequentielle Programme korrekt beweist.
*Synchronisationsalgorithmen mit atomaren und anderen Registern. Machinennahe verfahren, die insbesondere auf modernen Prozessoren interessant sind.
*Synchronisationsalgorithmen mit atomaren und anderen Registern. Machinennahe Verfahren, die insbesondere auf modernen Prozessoren interessant sind.
*Barrieren zum Synchronisieren mehrerer Prozesse.
*Barrieren zum Synchronisieren mehrerer Prozesse.
*Semaphore: Ein einfacher abstrakter Datentyp zur Synchronisation.
*Semaphore: Ein einfacher abstrakter Datentyp zur Synchronisation.
*Monitore: Strukturierter und Thread-sicherer umgang mit gemeinsam genutzen Resourcen.
*Monitore: Strukturierter und Thread-sicherer Umgang mit gemeinsam genutzen Resourcen.
*Erkennen und Vermeiden von Verklemmungen.
*Erkennen und Vermeiden von Verklemmungen (Deadlocks).
*Ablaufplanung (Scheduling)
*Ablaufplanung (Scheduling)
*Die Vererbungsanomalie: Warum Nebenläufigkeit und Objekt-Orientierung nicht gut zusammen passen.
*Die Vererbungsanomalie: Warum Nebenläufigkeit und Objekt-Orientierung nicht gut zusammen passen.
Zeile 17: Zeile 19:


=Klausuren=
=Klausuren=
to add
*[[Media:ExamS09.pdf | Klausur vom 22. Juli 2009 ]]
*[[Media:Klausur-sommer-2009.pdf | Musterlösung zur Klausur vom 22. Juli 2009]]
*[[Media:ExamW09.pdf | Klausur vom 5. Oktober 2009 ]]
*[[Media:Klausur-winter-2009 1.pdf | Musterlösung zur Klausur vom 5. Oktober 2009]]
*[[Media:ExamS10.pdf | Musterlösung zur Klausur vom 14. Juli 2010]]
*[[Media:Exam(1).pdf | Musterlösung zur Klausur vom 20. Juli 2011 ]]


=nützliche Links=
=nützliche Links=
*[http://www.greenteapress.com/semaphores/downey08semaphores.pdf The little book about Semaphores]
*[http://www.greenteapress.com/semaphores/downey08semaphores.pdf The little book about Semaphores]
[[Category:Informatik|ALP 4]]
[[Kategorie:Studienmodule/Informatik]]

Aktuelle Version vom 27. Juni 2017, 21:47 Uhr

Dieser Artikel / Abschnitt ist veraltet! Diese Seite bezieht sich auf das Modul "Nichsequentielle Programmierung" nach der Studien- und Prüfungsordnung vom 8.2.2007.

Alle Seiten, in denen diese Vorlage verwendet wird, werden automatisch in die Kategorie:Veraltet einsortiert.

Nichtsequentielle Programmierung befasst sich mit den Datenstrukturen und Algorithmen zur Synchronisation nebenläufiger Prozesse, die auf gemeinsame Daten zugreifen oder miteinander kommunizieren. Die Vorlesung stellt die grundlegenden Konzepte und Methoden der Programmierung nebenläufiger Systeme im Zusammenhang dar. Sie setzt den (auf sequentielle Programmierung beschränkten) Zyklus Algorithmen und Programmierung I-III fort und ist Voraussetzung für verschiedene Veranstaltungen des Hauptstudiums wie z.B. Netzprogrammierung, Betriebssysteme, Verteilte Systeme und Parallele Algorithmen.

Stoff[Bearbeiten]

  • Programmlogik, warum Testen nicht ausreichend ist, und wie man nicht-sequentielle Programme korrekt beweist.
  • Synchronisationsalgorithmen mit atomaren und anderen Registern. Machinennahe Verfahren, die insbesondere auf modernen Prozessoren interessant sind.
  • Barrieren zum Synchronisieren mehrerer Prozesse.
  • Semaphore: Ein einfacher abstrakter Datentyp zur Synchronisation.
  • Monitore: Strukturierter und Thread-sicherer Umgang mit gemeinsam genutzen Resourcen.
  • Erkennen und Vermeiden von Verklemmungen (Deadlocks).
  • Ablaufplanung (Scheduling)
  • Die Vererbungsanomalie: Warum Nebenläufigkeit und Objekt-Orientierung nicht gut zusammen passen.
  • Aktive Objekte: Ein Entwurfsmuster
  • Verteilte Systeme und Nachrichtenaustausch: Eine Einführung.

Übungen[Bearbeiten]

Klausuren[Bearbeiten]

nützliche Links[Bearbeiten]