자식 프로세스의 메모리 공간
커널은 자식 프로세스가 생성되면 프로세스 테이블에 등록하고 메모리를 할당한다. 일반적으로 프로세스가 생성되면, 자식 프로세스와 부모 프로세스는 텍스트(text, 프로그램 코드) 영역은 공유하고, 데이터, 힙, 스택 영역은 복사하는데, 보통 fork() 함수를 수행한 후 바로 exec 함수가 호출되기 때문에 대부분의 시스템에서 fork() 함수 수행 시 데이터, 힙, 스택 영역을 바로 복사하지 않는다. 자식 프로세스의 내용이 변경될 때 나머지 영역을 복사하는 방법을 통해서 실행 속도를 높일 수 있는데 이를 변형 시에 복사(copy-on-write, COW)라고 한다 *실제 하나의 프로세스 당 생성되는 가상 주소 공간이 4G 생성된다. 따라서 작은 영역이 아니기 때문에 섣불리 같은 코드를 공유한다면 복사할 ..
2019. 5. 9. 14:44