假设我有三个独立的进程(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导致单独的物理内存分配?
答案 0 :(得分:0)
来自mmap()的手册页:
未指定是否对文件进行了更改 mmap()调用在映射区域中可见。
tldr = Booooo!