假设我有三个独立的进程(PV、PS和PH),每个进程都对整个文件调用mmap()。PV使用MAP_PRIVATE标志调用mmap(),PS和PH使用MAP_SHARED标志调用mmap()。我知道PV对内存块所做的更改不会传播到PS或PH。我也知道PS所做的更改会传播到PH,但是这些更改会传播到PV吗?或者PV是否与使用MAP_SHARED的进程所做的更改隔离?
其次,假设它们都没有写入mmap()内存,那么它们是否都使用相同的物理内存?或者MAP_SHARED和MAP_PRIVATE会导致单独的物理内存分配?

最佳答案

从mmap()的手册页:

mmap()调用在映射区域中可见。
太棒了!

关于linux - 调用mmap()之后,MAP_PRIVATE如何处理对基础文件的更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50632724/

10-16 10:38