Inhaltsverzeichnis:
Definition - Was bedeutet Shared Memory?
Shared Memory für Software ist ein Speichertyp, der von mehreren Anwendungen oder Prozessen gemeinsam genutzt werden kann, um eine Kommunikation zwischen Anwendungen zu ermöglichen oder redundante Datenkopien zu vermeiden. Dies ist ein effizientes Mittel zum Teilen oder Weitergeben von Daten, da keine weiteren Prozesse wie Eingabe / Ausgabe (E / A) erforderlich sind. Eine Anwendung speichert die Daten im gemeinsamen 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.
Techopedia erklärt Shared Memory
Gemeinsam genutzter Speicher für Software ist eine Möglichkeit für verschiedene Programme, Daten zu kommunizieren und weiterzuleiten, ohne dass der Aufwand für Kommunikationsprozesse zunimmt. Mit Shared Memory schreibt ein Programm alle Daten, für deren Empfang ein anderes Programm benötigt wird, in den Shared Memory.
Wenn beispielsweise Programm A 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 erlaubt, wird die Datei bearbeitet, im gemeinsamen Speicher abgelegt oder aktualisiert. 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 Datenansicht verwenden, 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.
