在了解Linux内核第3版中,它说:
共享库在提供文件内存映射的系统上特别方便,因为它们减少了执行程序所需的主内存量.当动态链接器必须将共享库链接到进程时,它不会复制目标代码,而只会执行库文件相关部分到进程地址空间的内存映射.这允许包含库的机器代码的页面框架在使用相同代码的所有进程之间共享.显然,如果程序已静态链接,则无法共享.(第817页)
我对此感兴趣,想要在C中编写一个小程序来验证,给出两个pid作为输入,例如两个gedit进程,然后从页面帧中获取要共享的地址信息.有谁知道怎么做?从那本书中,我认为来自两个或更多gedit进程的bss段和文本段地址是相同的,这是正确的吗?