Kann mir jemand etwas über Shared Memory in einem OS erklären

343
user2720323

Kann mir jemand erklären, wie der gemeinsame Speicher mit dem Betriebssystem zusammenhängt?

In letzter Zeit sehe ich es häufig erwähnt.

Was heißt das genau? Es ist ein Teil des Arbeitsspeichers im RAM?

-2
"Shared Memory" kann je nach Kontext verschiedene Dinge bedeuten. Bitte geben Sie genauer an, in welchem ​​Kontext Sie dies erwähnt haben, damit wir Ihre Frage beantworten können. Flimzy vor 10 Jahren 0

2 Antworten auf die Frage

1
magicandre1981

Dies bedeutet, dass mehrere Programme dieselbe DLL verwenden können, ohne dass sie mehrmals in den RAM geladen wurde (dies würde zu einem sehr hohen Speicherbedarf führen, wenn die shell32.dll 50-mal geladen wurde).

MS hat es hier in diesem Video erklärt:

Defragmentierungstools: # 7 - VMMap

http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Toolss-7-VMMap#time=03m35s

1
kworr

Es gibt verschiedene Techniken, um Speicher mit unterschiedlichen Ergebnissen gemeinsam zu nutzen:

  1. Es gibt einen gemeinsam genutzten Speicher auf Programmebene (wie IPC oder dbus) für die Kommunikation zwischen Prozessen. Viele verschiedene Programme können damit kommunizieren und Daten gemeinsam nutzen.
  2. Es gibt einen gemeinsam genutzten Speicher auf Systemebene, in dem der Systemlinker Bibliotheken enthalten kann, die von mehreren Prozessen verwendet wurden.
  3. Es gibt einen gemeinsam genutzten Speicher auf Hardware-Ebene, wenn eine Reihe von CPUs auf einen großen RAM-Speicher zugreifen kann.

Für eine genauere Erklärung können Sie ein Wiki aufrufen .