오답 이유fork()는 호출 프로세스와 거의 같은 실행 문맥을 가진 자식을 만들고 부모·자식에 서로 다른 반환값을 준다.
2
fork() 뒤 부모와 자식 프로세스는 같은 쓰기 가능한 메모리 위치를 계속 공동으로 사용한다.
정답 근거부모와 자식은 분리된 가상 주소 공간을 가지며 일반 변수의 쓰기는 copy-on-write 뒤 서로에게 반영되지 않는다.
3
exec()는 현재 프로세스의 주소 공간을 새 프로그램 이미지로 교체한다.
오답 이유exec 계열은 새 프로세스를 하나 더 만드는 대신 현재 프로세스의 코드·데이터·스택 이미지를 새 프로그램으로 바꾼다.
4
wait()는 부모 프로세스가 자식 프로세스의 종료나 상태 변화를 기다릴 때 사용한다.
오답 이유wait 계열은 부모가 자식의 종료 상태를 수거하고 필요하면 그때까지 대기하도록 한다.
정답·상세해설
정답 2번
fork() 직후 자식은 부모 주소 공간의 논리적 복사본을 가지며 구현상 copy-on-write로 물리 페이지를 잠시 공유할 수 있다. 그러나 한쪽이 쓴 내용이 다른 쪽의 같은 변수에 그대로 반영되는 공동 쓰기 메모리는 아니다. 따라서 같은 메모리 위치를 계속 공동 사용한다는 ②가 틀리다.