copy on write

fork 직후에는 공유하고 쓰는 순간에만 복사한다

부모와 자식은 같은 물리 페이지를 read-only로 가리키다가 어느 한쪽이 쓰기를 시도하면 fault가 발생하고 그때 새 페이지를 만든다.

fork share page PTE read-only
read same frame 복사 없음
write fault COW trigger 커널이 새 frame 할당
after copy private page 쓴 쪽만 새 값 보유
순간
메모리 상태
이유
fork 직후
물리 페이지 공유
빠른 생성
읽기
공유 유지
값 변경 없음
첫 쓰기
복사 발생
격리 보장
exec
기존 이미지 폐기
불필요한 복사 회피
핵심 부모와 자식은 같은 물리 페이지를 read-only로 가리키다가 어느 한쪽이 쓰기를 시도하면 fault가 발생하고 그때 새 페이지를 만든다.