Definition

Shared Memory (Verteilter Arbeitsspeicher)

In der Computerprogrammierung ist Shared Memory (Verteilter oder gemeinsam genutzter Arbeitsspeicher) eine Methode, mit der Programmprozesse Daten schneller austauschen können als durch Lesen und Schreiben mit den regulären Betriebssystemdiensten. Beispielsweise kann ein Client-Prozess Daten an einen Serverprozess übergeben, die der Serverprozess modifizieren und an den Client zurückgeben soll. Normalerweise würde dies erfordern, dass der Client in eine Ausgabedatei schreibt (unter Verwendung der Buffer des Betriebssystems) und der Server diese Datei dann als Eingabe aus den Buffern in seinen eigenen Arbeitsbereich liest. Unter Verwendung eines bestimmten Bereichs des Shared Memory können die Daten beiden Prozessen direkt zugänglich gemacht werden, ohne dass die Systemdienste in Anspruch genommen werden müssen. Um die Daten in den verteilten Arbeitsspeicher zu stellen, erhält der Client Zugriff auf das Shared Memory, nachdem er einen Semaphor-Wert überprüft hat, schreibt die Daten und setzt dann den Semaphor zurück, um dem Server (der den verteilten Arbeitsspeicher periodisch auf mögliche Eingaben überprüft) zu signalisieren, dass Daten warten. Der Serverprozess wiederum schreibt die Daten zurück in den gemeinsamen Speicherbereich und verwendet das Semaphor, um anzuzeigen, dass die Daten zum Lesen bereit sind.

Andere Formen der Interprozesskommunikation (IPC) umfassen Message Queueing, Semaphore und Sockets.

Diese Definition wurde zuletzt im Oktober 2020 aktualisiert

Erfahren Sie mehr über IT-Berufe und Weiterbildung