保護標誌是否影響進程之間的共享?如果我有PROT_READ | PROT_WRITE - 受保護的mmapped內存區域,只要我沒有寫入內存區域,它仍然是完全共享的?mmap保護標誌對進程之間共享的影響
int prot = PROT_READ|PROT_EXEC;
image = mmap(NULL, filesize, prot, MAP_PRIVATE, fildes, 0);
VS:
int prot = PROT_READ|PROT_WRITE|PROT_EXEC;
image = mmap(...)
我願意做小的修改對內存區域的一小部分,我映射,然後重新mprotect的這一切後,因爲它比簡單mprotecting當我需要這樣做的時候,一小部分。
現在的問題是,它是否最終會迫使每個進程複製整個文件,或僅僅是每個進程修改的部分?