=== 결과 ===

address of foo: fbf1f2a0

foo: 4

child terminated!

address of foo: fbf1f2a0

foo: 3

parent terminated!


결과를 보면, 자식 프로세스는 부모 프로세스의 힙 데이터를 복사하는데 같은 주소의 데이터를 공유하는 것이 아닌 힙 데이터 하나하나 다 새로 할당해서 자식 프로세스에 넘겨주는 거야? 그렇다면 fork 하면 부모 프로세스에서 할당 받은 힙 데이터만큼 추가로 할당받는 오버헤드가 존재하는거야?