Zusammenfassung
Wenn sich auch einfache Synchronisationsprobleme durch Schloßalgorithmen lösen lassen, bergen die vorgestellten Implementierungen von Schloßvariablen jedoch eine ganze Reihe von Nachteilen:
-
(1)
das aktive Warten bedeutet einen sinnlosen Verbrauch der Ressource Prozessor
-
(2)
die Protokolle sind maschinenabhängig oder recht kompliziert,
-
(3)
Prozesse sind für ihre Verzögerung vor dem Eintritt in einen kritischen Abschnitt, falls notwendig, selbst verantwortlich, was die Sicherheit stark beeinträchtigt,
-
(4)
die Maßnahmen zur Synchronisation der Algorithmen sind verstreut, was zur Unübersichtlichkeit des Programmtextes und damit ggf. zur schweren Auffindbarkeit von Fehlern führt,
-
(5)
es ist nicht möglich, den unerlaubten Zugriff auf gemeinsame Daten ohne Synchronisation zu verhindern,
-
(6)
die Terminierung eines Prozesses im kritischen Abschnitt vor der Ausführung seines Austrittsprotokolls kann gravierende bis zerstörende Auswirkungen auf das Programm haben.
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
altgriech. σημα = Zeichen, Signal; φεϱειν = tragen
In Pascal-FC gibt es keine binären, sondern nur allgemeine Semaphore mit 1 für TRUE und 0 für FALSE.
wie in den Programmierbeispielen in Pascal-FC
natürlich unter der Voraussetzung, daß die Semaphoroperationen fair sind
In Unix wird bei dem entsprechenden Semaphor-Systemaufruf grundsätzlich so verfahren: es werden immer alle Prozesse in der Warteschlange eines Semaphors deblockiert.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Maurer, C. (1999). Semaphore. In: Grundzüge der Nichtsequentiellen Programmierung. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58431-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-58431-2_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65561-9
Online ISBN: 978-3-642-58431-2
eBook Packages: Springer Book Archive