Geteilte Erinnerung

Definition - Was bedeutet Shared Memory?

Shared Memory für Software ist eine Art von Speicher, der von mehreren Anwendungen oder Prozessen gemeinsam genutzt werden kann, um eine Kommunikation zwischen Anwendungen bereitzustellen oder redundante Datenkopien zu vermeiden. Dies ist ein effizientes Mittel zum Teilen oder Weitergeben von Daten, da keine anderen Prozesse wie Eingabe / Ausgabe (E / A) verwendet werden müssen. Eine Anwendung speichert die Daten im gemeinsam genutzten Speicher, während eine andere Anwendung sie möglicherweise verwendet, wenn sie gefunden wird.

Im Kontext von Prozessoren ist der gemeinsam genutzte Speicher ein Teil des Direktzugriffsspeichers (RAM), auf den alle Prozessoren in einem Multiprozessorsystem zugreifen können.

Technische.me erklärt Shared Memory

Shared Memory für Software ist eine Möglichkeit für verschiedene Programme, Daten zu kommunizieren und Daten weiterzugeben, ohne dass Kommunikationsprozesse mehr Aufwand verursachen. Mit Shared Memory schreibt ein Programm alle Daten in den Shared Memory, die ein anderes Programm zum Empfangen benötigt.

Wenn Programm A beispielsweise Programm B eine Liste geben möchte, speichert es die Daten im gemeinsam genutzten Speicher und markiert sie mit einem Semaphor oder einem anderen Kennzeichnungssystem, um zu signalisieren, dass es bereit ist, von Programm B gelesen zu werden.

Wenn Programm B die Datei findet, überprüft es das Semaphor, um festzustellen, ob es diese Datei berühren darf. Wenn dies zulässig ist, führt es die erforderlichen Schritte für die Datei aus, speichert sie im gemeinsam genutzten Speicher oder aktualisiert sie. Außerdem wird das Semaphor aktualisiert, sodass Programm A weiß, dass es die Datei aufnehmen soll.

In Bezug auf Hardware, insbesondere Mikroprozessoren, ist der gemeinsam genutzte Speicher ein großer RAM-Block, der von mehreren Prozessoren verwendet wird. Die Programmierung ist einfach, da alle Prozessoren dieselbe Sicht auf Daten haben, was eine schnellere Kommunikation ermöglicht. Dies kann jedoch kompliziert werden, da Prozessoren den Speicher für einen schnelleren Zugriff zwischenspeichern, was zu Problemen wie der Cache-Kohärenz führen kann.