Linux共享库&记忆空间

时间:2012-08-07 04:13:23

标签: linux memory-management shared-libraries

  

可能重复:
  shared library address space

我对执行期间共享库的内存布局感到困惑。让我把我理解的东西。

.so文件是每个二进制文件中没有重复代码的文件,因此存在单个副本。二进制文件将更新GOT和其他表,并使用这些函数。

我正在努力了解如何;我收到了以下链接http://www.openbsd.org/papers/nycbsdcon08-pie/mgp00010.html。现在,如果您看到这一点,所有共享库都将“mmaped”到进程内存。这很明显,因为它必须在它自己的存储空间中。

如果我们有BSS /数据部分,则必须在流程之间复制,因为它将特定于流程。 .TEXT部分会发生什么?它会在运行时重复还是在某个地方加载,每个二进制文件会将其映射到自己的用户空间?

0 个答案:

没有答案