3.2.13.2 Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte

[unmarkierte Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
=Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte=
=Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte=
<p>
Unter ''Speicherobjekten'' kann man sich beispielsweise ''Dateien'' vorstellen.
</p>
<p>
<loop_area type="example">
<p>
Ein Prozess A erzeugt während seiner Laufzeit Daten und speichert diese in einer Datei ab. Ein zweiter Prozess B liest diese Datei zu einem späteren Zeitpunkt ein und kann so die enthaltenen Informationen weiterverarbeiten.
</p>
</loop_area>
</p>
<p>
Auch hier ist eine [[Synchronisation]] nötig. Allerdings sorgt das Betriebssystem nur für eine Synchronisation beim ''gleichzeitigen Zugriff'' der beiden Prozesse auf die Datei (z.B. über [[Semaphore]]).
</p>
<p>
Falls hingegen Prozess B den Dateiinhalt ausliest, lange bevor Prozess A die gewünschten Informationen hineingeschrieben hat, so ist nicht zu erwarten, dass Prozess B das erwartete Ergebnis berechnen kann.
</p>
<p>
<loop_index>Lock-Mechanismus</loop_index>
In dieser Situation kann entweder der Mensch eingreifen, indem er Prozess B erst dann startet, wenn Prozess A fertig ist (in [http://de.wikipedia.org/wiki/Shell-Skript Shell-Skripten] oder [http://de.wikipedia.org/wiki/Batch-Skript Batch-Dateien] kann das sehr einfach über die Reihenfolge der Befehle erfolgen), oder das Betriebssystem stellt einen sogenannten Lock-Mechanismus für den Dateizugriff zur Verfügung.
</p>
<br />
== Aufgabe 1 ==
<p>
<loop_area type="task">
<loop_task title="Lock">
<p>
Recherchiere: Was versteht man unter einem Lock-Mechanismus im Hinblick auf den schreibenden oder lesenden Zugriff mehrerer Prozesse auf eine Datei?
</p>
</loop_task>
</loop_area>
</p>
<br />
<hr />
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
</sub>

Version vom 13. Oktober 2014, 14:16 Uhr

Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte

Unter Speicherobjekten kann man sich beispielsweise Dateien vorstellen.

Beispiel

Ein Prozess A erzeugt während seiner Laufzeit Daten und speichert diese in einer Datei ab. Ein zweiter Prozess B liest diese Datei zu einem späteren Zeitpunkt ein und kann so die enthaltenen Informationen weiterverarbeiten.

Auch hier ist eine Synchronisation nötig. Allerdings sorgt das Betriebssystem nur für eine Synchronisation beim gleichzeitigen Zugriff der beiden Prozesse auf die Datei (z.B. über Semaphore).

Falls hingegen Prozess B den Dateiinhalt ausliest, lange bevor Prozess A die gewünschten Informationen hineingeschrieben hat, so ist nicht zu erwarten, dass Prozess B das erwartete Ergebnis berechnen kann.

In dieser Situation kann entweder der Mensch eingreifen, indem er Prozess B erst dann startet, wenn Prozess A fertig ist (in Shell-Skripten oder Batch-Dateien kann das sehr einfach über die Reihenfolge der Befehle erfolgen), oder das Betriebssystem stellt einen sogenannten Lock-Mechanismus für den Dateizugriff zur Verfügung.


Aufgabe 1

Aufgabe

Recherchiere: Was versteht man unter einem Lock-Mechanismus im Hinblick auf den schreibenden oder lesenden Zugriff mehrerer Prozesse auf eine Datei?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png