fork exec

fork는 복제하고 exec는 프로그램 이미지를 바꾼다

셸이 명령을 실행할 때는 부모를 남기기 위해 fork로 자식을 만들고, 자식 안에서 exec로 새 프로그램을 덮어쓴다.

shell fork 부모와 자식 분리
child exec 코드와 데이터 교체
parent wait 종료 상태 회수
kernel COW 페이지 복사는 지연
호출
유지되는 것
바뀌는 것
fork
프로그램 이미지
PID와 실행 흐름
exec
PID 일부 속성
코드, heap, stack
wait
부모 프로세스
좀비 상태 회수
COW
읽기 페이지
쓰기 시 실제 복사
핵심 셸이 명령을 실행할 때는 부모를 남기기 위해 fork로 자식을 만들고, 자식 안에서 exec로 새 프로그램을 덮어쓴다.