[pintOS] Copy-on-write 구현기
크래프톤 정글·2025. 6. 7.
이미 테스트는 통과한지 오래이지만... 도저히 포스팅할 엄두가 나지 않아서 이제야 작성한다.vm 프로젝트의 extra 과제인데, 기존에 작성한 코드들을 많이 수정해야해서 애를 먹었다. 역시 코드를 작성하는것보다 수정하는 일이 훨씬 어려운 것 같다. copy-on-write가 무엇인가?우리가 이전에 작성한 spt-copy는 카피해온 페이지들을 즉시 초기화시켜주고, 데이터를 복사하는 등 자식과 부모가 서로 다른 프레임을 참조하도록 만들었다. 하지만 잘 생각해보면 read만 할 거면 굳이 같은 데이터를 가진 다른 프레임을 서로 참조할 필요가 있을까? 그냥 같은 프레임을 부모와 자식이 같이 참조하도록 해도 될 것 같다. 그러다가 write가 발생해서 일관성이 깨질 것 같으면, 그제서야 다른 프레임 하나를 할당해..