Skip to main content

Interprozesskommunikation

  • Chapter
  • First Online:
Betriebssysteme kompakt

Part of the book series: IT kompakt ((IT))

  • 7164 Accesses

Zusammenfassung

Prozesse müssen nicht nur Lese- und Schreibzugriffe auf Daten ausführen, sondern sie müssen sich auch häufig gegenseitig aufrufen, aufeinander warten und sich untereinander abstimmen. Kurz gesagt: Prozesse müssen miteinander interagieren können.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 14.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Ein bekanntes Beispiel für tragische Auswirkungen durch eine Race Condition ist der Elektronen-Linearbeschleuniger Therac-25, der zur Strahlentherapie von Krebstumoren eingesetzt wurde. Dieser verursachte Mitte der 1980er Jahre in den vereinigten Staaten Unfälle. Von den getöteten Patienten starben zwei nachweislich durch eine Race Condition, die zu inkonsistenten Einstellungen des Gerätes und damit zu einer erhöhten Strahlendosis führte. Ursächlich war eine fehlerhafte Synchronisierung mit dem Prozess der Eingabeaufforderung. Der Fehler trat allerdings nur dann auf, wenn die Bedienung zu schnell erfolgte. Bei Tests trat der Fehler nicht auf, weil es Erfahrung (Routine) erforderte, um das Gerät so schnell zu bedienen [33].

  2. 2.

    Mit dem Systemaufruf kill und der gleichnamigen Bibliotheksfunktion sowie dem gleichnamigen Kommando in der Shell ist es möglich, Signale an Prozesse zu senden.

  3. 3.

    Mit der Option -m wurde ipcs angewiesen, nur die gemeinsamen Speicherbereiche auszugeben.

  4. 4.

    Mit der Option -q wurde ipcs angewiesen, nur die Nachrichtenwarteschlangen auszugeben.

  5. 5.

    Das erste Zeichen jedes Dateisystemeintrags in der Ausgabe von ls -l gibt an, um welche Art von Datei es sich handelt. Im Fall einer normalen Datei würde sich an dieser Stelle nur ein Bindestrich befinden. Ein Verzeichnis identifiziert der Buchstabe d. Sockets haben den Buchstaben s und benannte Pipes den Buchstaben p. Gerätedateien für zeichenorientierte Geräte haben den Buchstaben c, und für blockorientierte Geräte steht der Buchstabe b. Symbolische Links (Verknüpfungen), also Dateien, die auf andere Dateien verweisen, identifiziert der Buchstabe l.

  6. 6.

    Segmente sind die Nachrichteneinheiten, mit denen Transportprotokolle kommunizieren.

  7. 7.

    Das P geht ursprünglich auf die holländischen Wörter probeeren (deutsch: probieren) und passeeren (deutsch: passieren) zurück [36, 54, 62].

  8. 8.

    Das V geht ursprünglich auf die holländischen Wörter verhogen (deutsch: erhöhen) und vrijgeven (deutsch: freigeben) zurück [36, 54, 62].

  9. 9.

    Außer dem in diesem Werk beschriebenen Erzeuger/Verbraucher-Beispiel gibt es noch zahlreiche andere in der Literatur populäre Beispiele für den Einsatz von Semaphoren zur Kooperation von Prozessen. Zwei weitere bekannte Beispiele sind das Leser-/Schreiberproblem [6, 17, 18, 54, 60, 65], bei dem es um den gleichzeitigen Zugriff mehrerer Prozesse auf eine gemeinsame Speicherstelle geht, sowie das Philosophenproblem [17, 47, 54], bei dem mehrere Prozesse in einer Art und Weise auf knappe Ressourcen zugreifen sollen, damit keiner verhungert.

  10. 10.

    Der Begriff Mutex ist abgeleitet von Mutual Exclusion, also wechselseitiger Ausschluss.

  11. 11.

    Der Compiler stellt sicher, dass zu jedem Zeitpunkt nur ein Prozess auf den Monitor und damit auf dem kritischen Abschnitt zugreifen kann.

  12. 12.

    Wenn unter Java eine Methode oder ein Codebereich mit dem Schlüsselwort synchronized gekennzeichnet ist, erzeugt die Laufzeitumgebung einen Monitor und garantiert den exklusiven Zugriff darauf [29]. Der Zugriff auf einen Monitor bzw. dessen Freigabe geschieht unter Java mit den Methoden wait, notify und notifyAll.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Baun, C. (2020). Interprozesskommunikation. In: Betriebssysteme kompakt. IT kompakt. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-61411-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-61411-2_9

  • Published:

  • Publisher Name: Springer Vieweg, Berlin, Heidelberg

  • Print ISBN: 978-3-662-61410-5

  • Online ISBN: 978-3-662-61411-2

  • eBook Packages: Computer Science and Engineering (German Language)

Publish with us

Policies and ethics