Zusammenfassung
In diesem Kapitel werden Möglichkeiten vorgestellt, Ein- und Austrittsprotokolle zum Betreten kritischer Abschnitte unter Einsatz von gemeinsam benutzten Variablen zu implementieren.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Notes
realisiert im Motorola 68x00®
Wir müssen dabei allerdings — wie schon im Programm INCO bei der Ausgabe auf den Bildschirm zu Protokollzwecken — wieder ein bißchen schummeln, was aber der Idee keinen Abbruch tut: TAS wird durch eine Funktion simuliert, deren Ausführungen mit einem Synchronisations-Konstrukt einer höheren Abstraktionsstufe gegenseitig ununterbrechbar gemacht werden und deren Implementierung sicherstellt, daß eine Unterbrechung durch den Aufruf von unlock effektfrei ist.
realisiert im Intel 80x86®
realisiert in IB M-Großrechnern der Serie 370®
Beispielsweise wird bei den Systemaufrufen aus der Posix-threads-Bibliothek in Unix der TAS-Befehl eingesetzt und für den Intel i386 mit dem Maschinenbefehl XCHG emuliert.
Streng genommen handelt es sich nicht um einen „deadlock“, sondern um einen „livelock“: beide Prozesse führen zwar nur nutzlose Anweisungen durch, sind nach wie vor aktiv. Der Effekt ist aber der gleiche wie bei einer echten Verklemmung, deswegen ist die Unterscheidung hier im Grunde bedeutungslos. Die Details zu Verklemmungen finden sich in einem eigenen Kapitel.
Stellen Sie sich einmal vor, Sie wollen durch das Löwentor gegenüber vom Bahnhof in den Berliner Zoo, aber davor steht schon eine Schlange von Touristen aus einem Sonderzug und siebenundzwanzig Bussen; vor dem Elefantentor auf der anderen Zoo-Seite stehen aber nur ein Dutzend Zoobesucher ⋯
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Maurer, C. (1999). Schlossvariable. In: Grundzüge der Nichtsequentiellen Programmierung. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58431-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-58431-2_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65561-9
Online ISBN: 978-3-642-58431-2
eBook Packages: Springer Book Archive