There are different kinds of memory in a process, e.g. code segment, read-only data segment, and read-write data segment. The code and read-only memory can be shared between the parent and child processes. The read-write memory pages are copied-on-write when they are modified. There can be fair amount of sharing.