Frage von JamesOffice, 32

Problem bei shared memory?

Guten Abend, ich habe ein kleines Problemchen unter Linux und zwar habe ich zwei Prozesse, die auf dasselbe Shared Memory Segment zugreifen. Die Pointervariablen, über die auf das Shared Memory zugegriffen wird, zeigen allerdings auf unterschiedliche Adressen!? Ist das ein Synchronisation Problem? Normalerweise wenn das ein Synchronisationsproblem wäre, müssten die zwei Pointervariablen auf die selben Adressen und nicht verschiedene Adressen zeigen! Könnte mir jemand weiter helfen? Danke im Voraus!

Antwort
von Sivsiv, 22

Um ehrlich zu sein ist das das Verhalten dass ich erwarte. Vergiss nicht dass du in jedem Prozess erstmal virtuelle Adressen aus der jeweiligen Prozessbox siehst.
Könnte man direkt mit physikalischen Adressen arbeiten wäre die shm_ API fast nicht notwendig.

Kommentar von JamesOffice ,

würdest du dann im normal Fall erwarten, dass beide Pointervariabeln auf unterschiedliche virtuelle Adressen zeigen, also d.h dass alles im Grünen Bereich isgt und das man in dem Fall kein Synchronisationsproblem hat oder?  Vielen Dank

Kommentar von Sivsiv ,

Ganz genau.

Keine passende Antwort gefunden?

Fragen Sie die Community