Memory management linux下共享库内存映射的访问权限

Memory management linux下共享库内存映射的访问权限,memory-management,linux-kernel,shared-libraries,Memory Management,Linux Kernel,Shared Libraries,我有一个关于linux中共享库的问题。如果进程映射具有写入权限的共享库并向其写入,是否会触发写入时复制 例如,进程A的内存映射具有以下条目: 40321000-40336000 r-xp 00000000 b3:15 875 /system/lib/libm.so 40336000-40337000 r--p 00014000 b3:15 875 /system/lib/libm.so 40337000-40338000 rw-p 00015000 b3:15 875

我有一个关于linux中共享库的问题。如果进程映射具有写入权限的共享库并向其写入,是否会触发写入时复制

例如,进程A的内存映射具有以下条目:

40321000-40336000 r-xp 00000000 b3:15 875        /system/lib/libm.so
40336000-40337000 r--p 00014000 b3:15 875        /system/lib/libm.so
40337000-40338000 rw-p 00015000 b3:15 875        /system/lib/libm.so
第三个条目具有权限rw-p,这意味着它具有写入权限。所以,如果进程A写入此节,是否会触发写时复制?如果是,是否意味着具有相同共享库映射的其他进程将看不到A写入的数据进程


Jiawen

由于映射是私有的,其他进程将不会获得A的写入更改


(MAP_PRIVATE将确保A的更改不会被反映)

(这就是
rw-p
末尾的
p
的意思)。但是如果A没有写入,内存仍然与其他进程共享,对吗?