谁能解释一下共享内存与操作系统有何关系?
最近我看到它被频繁提及。
它到底是什么意思?它是 RAM 中内存的一部分吗?
答案1
这意味着多个程序可以使用相同的 DLL,而无需在 RAM 中多次加载它(如果将 shell32.dll 加载 50 次,则会导致非常高的内存使用率)。
MS 在此视频中对此进行了解释:
碎片整理工具:#7 - VMMap
http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-7-VMMap#time=03m35s
答案2
共享内存有不同的技术,会产生不同的结果:
- 存在用于进程间通信的程序级共享内存(如 IPC 或 dbus)。许多不同的程序可以使用它来通信和共享数据。
- 有一个系统级共享内存,系统链接器可以在其中保存由多个进程使用的库。
- 当多个 CPU 可以访问一大块 RAM 时,就会存在硬件级别的共享内存。
如需更精确的解释,您可以点击维基百科。