有人能向我解释一下操作系统中的共享内存吗

有人能向我解释一下操作系统中的共享内存吗

谁能解释一下共享内存与操作系统有何关系?

最近我看到它被频繁提及。

它到底是什么意思?它是 RAM 中内存的一部分吗?

答案1

这意味着多个程序可以使用相同的 DLL,而无需在 RAM 中多次加载它(如果将 shell32.dll 加载 50 次,则会导致非常高的内存使用率)。

MS 在此视频中对此进行了解释:

碎片整理工具:#7 - VMMap

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

答案2

共享内存有不同的技术,会产生不同的结果:

  1. 存在用于进程间通信的程序级共享内存(如 IPC 或 dbus)。许多不同的程序可以使用它来通信和共享数据。
  2. 有一个系统级共享内存,系统链接器可以在其中保存由多个进程使用的库。
  3. 当多个 CPU 可以访问一大块 RAM 时,就会存在硬件级别的共享内存。

如需更精确的解释,您可以点击维基百科

相关内容