Based on P244 [[linux sys programming ]]
I am not quite sure about the use cases, but let’s say this huge file needs to be loaded into memory, by 2 processes. If readonly, then memory savings is possible by sharing the memory pages between the 2 processes. Basically, the 2 virtual address spaces map to the same physical pages.
Now suppose one of them — Process-A — needs to write to that memory. Copy-on-write takes place so Process-B isn’t affected. The write is “intercepted” by the kernel which transparently creates a “copy”, before committing the write to the new page.
fork() system call is another user of Copy-on-write technique.
 Use cases?
* perhaps a large library, where the binary code must be loaded into memory
* memory-mapped file perhaps