Die Nichtsequentielle Programmierung (NSP) stellt Grundlagen für viele Fachgebiete des Hauptstudiums bereit, in denen nichtsequentielle Algorithmen eingesetzt werden, wie z.B. Programmierung von Betriebssystemen, Echtzeitanwendungen, Datenbanktransaktionen und Verteilten Systemen. In den vorliegenden Grundzügen der Nichtsequentiellen Programmierung geht es um die systematische Entwicklung der Konzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse.
Die zahlreichen Beispielalgorithmen sind in Pascal FC ("Functionally Concurrent") formuliert, das für diverse UNIX-Varianten und DOS frei verfügbar ist.
Auflage
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Produkt-Hinweis
Maße
Höhe: 20.5 cm
Breite: 13.3 cm
Dicke: 12 mm
Gewicht
ISBN-13
978-3-540-65561-9 (9783540655619)
DOI
10.1007/978-3-642-58431-2
Schweitzer Klassifikation
Einführung.- Begriffsklärungen.- Motivation und Anwendungen.- Nebenläufigkeit und der informelle Prozeßbegriff.- Konflikte beim Zugriff auf gemeinsame Variable.- Atomare Anweisungen.- Kritische Abschnitte und Synchronisation.- Schloßvariable.- Spezifikation von Schloßvariablen.- Maschinenbefehle.- Test and Set.- Exchange.- Wertung des Einsatzes von Maschinenbefehlen.- Einfache Schloßalgorithmen auf Hochsprachenebene.- Der Algorithmus von Peterson.- Der Algorithmus von Dekker.- Schloßalgorithmen für mehrere Prozesse.- Der Tiebreaker-Algorithmus.- Der Algorithmus von Dijkstra.- Der Algorithmus von Habermann.- Der Ticket-Algorithmus.- Der Bäckerei-Algorithmus.- Prozeßmodell.- Prozeßzustände.- Prozeßverwaltung.- Spezifikation eines Prozeßmoduls.- Implementierung eines Prozeßmoduls.- Semaphore.- Kritik an Schloßvariablen und das Konzept von DIJKSTRA.- Binäre Semaphore.- Allgemeine Semaphore und der beschränkte Puffer.- Der Produzenten-Konsumenten-Algorithmus.- Der unbeschränkte Puffer.- Konstruktion allgemeiner Semaphore aus binären Semaphoren.- Das Leser-Schreiber-Problem.- Der Staffelstab-Algorithmus.- Das Leser-Schreiber-Problem mit dem Staffelstab-Algorithmus.- Die speisenden Philosophen.- Additive Semaphore.- Mehrfache Semaphore.- Barrierensynchronisation.- Implementierung von Semaphoren im Prozeßmodell.- Der beschränkte Puffer in Modula-2.- Das Konvoi-Phänomen.- Fairneß.- Schwache versus starke Fairneß.- Verklemmungen.- Der Begriff der Verklemmung.- Charakterisierung und Gegenmaßnahmen.- Ausschluß von Verklemmungen.- Erkennung und Auflösung von Verklemmungen.- Vermeidung von Verklemmungen.- Der Bankiers-Algorithmus.- Verklemmungswahrscheinlichkeit.- Wertung der Maßnahmen gegen Verklemmungen.- Monitore.- Kritik an Semaphoren und Forderungen an Monitore.- Charakterisierung von Monitoren.- Bedingungsvariable.- Der beschränkte Puffer.- Der unbeschränkte Puffer.- Das Leser-Schreiber-Problem.- Signal-Semantiken.- Vergleichende Wertung der Signal-Semantiken.- Ein Semaphor als Monitor.- Barrierensynchronisation.- Rundruf.- Prioritätsregelungen.- Der Wecker von HOARE.- Äquivalenz von Semaphor- und Monitorkonzept.- Zur Implementierung des Monitorkonzepts im Prozeßkern.- Zur Problematik geschachtelter Monitoraufrufe.- Synchroner Botschaftenaustausch.- Kanäle und Botschaften.- Netzwerke von Filtern.- Selektives Warten.- Symmetrische Auswahl.- Das Leser-Schreiber-Problem mit selektivem Warten.- Bewachtes selektives Warten.- Äquivalenz von Botschaftenaustausch und Semaphorkonzept.- Implementierungsaspekte des Botschaftenaustauschs.- Bewachte Kommunikation.- Das Kunden-Anbieter-Paradigma.- Der beschränkte Puffer.- Asynchroner Botschaftenaustausch mit synchronem.- Das Leser-Schreiber-Problem.- Dualität zwischen Monitorkonzept und Botschaftenaustausch.- Fernaufrufe.- Kritik an Fernaufrufen und Abstraktion vom Kanalkonzept.- Selektive und bewachte selektive Annahme von Fernaufrufen.- Der beschränkte Puffer.- Das Leser-Schreiber-Problem.- Grenzen des Konzepts der Fernaufrufe.- Dualität zwischen Monitorkonzept und Fernaufrufen.- Prozedurfernaufrufe.- Abschließende Betrachtungen.- Vergleich der Sprachkonstrukte.- Ressourcen.- Der beschränkte Puffer.- Das Leser-Schreiber-Problem.- Das Requeue-Konzept.- Literatur.- Programmiersprachen im weltweiten Netz.- Stichwortverzeichnis.