Shared면 여러프로세스에서 읽고쓰고 가능하니까 당연히 쓸데가 많은데

Private모드면 파일 열어서 메모리에 싹 복사해놓는거랑 결과는 크게 다를게없는데 보통 무슨용도로 쓰는지 궁금


대충 내가 생각해본 장점은


여러 프로세스에서 동시에 같은 파일을 열어서 보려면 private mmap을 쓰면 한 파일에서만 열고 나머지는 그 페이지 주소를 참조하면 되니까 IO는 한번만 하면 됨

같은맥락에서 여러프로세스에서 큰 파일을 열어도 메모리공간은 파일하나만큼만 씀 


정도인데 막상써보니 좋은거같기도 하고


암튼 보통 private mmap이 일반 open이랑 구별되는점이라고 생각해보면 저정도만 생각나는데 혹시 내가 모르는거 더있음?


글고 하나더

private 모드로 열린 read only mmap이 있을때

msync로 파일 내용 못바꾸는건 이해가는데 반대로 

파일이 업데이트되었을때 그걸 열려있는 mmap 페이지에 반영하는 방법은 없음?

shared 면 msync로 되는데 private은 그것도 안되나