COW 및 포크 - 프레임 수

COW 및 포크 - 프레임 수

10개의 물리적 프레임이 있는 프로세스 P를 생각해 보세요. 프로세스 P가 fork()를 호출하고 자식 프로세스 Q를 생성한다고 가정합니다.

Copy-On-Write가 없으면 처음에 하위 프로세스에 몇 개의 물리적 프레임이 있습니까? 10

Copy-On-Write를 사용하면 처음에 자식은 몇 개의 프레임을 갖게 됩니까? 0 이것이 정답인지 확실하지 않습니다.

감사합니다!

답변1

분기된 프로세스는 상위 프로세스의 정확한 이미지인 것처럼 작동해야 하므로 COW가 없으면 처음에는 실제로 10개의 프레임을 갖게 됩니다.

그러나 처음에는 자체 메모리를 완전히 소유할 수 없습니다. 최소한 비공유 프레임이 필요합니다. fork부모와 자식에서 동일한 값이 반환되지 않으므로 해당 반환 값을 저장하는 페이지를 공유할 수 없습니다.

실제로 공유되지 않는 페이지도 있을 수 있으며, 정확한 개수는 운영체제에 따라 달라질 수 있습니다. 유일한 확실한 점은 0이 될 수 없다는 것입니다.

관련 정보