
프로젝트/Pint OS
[Pint OS] Lazy loading(3)
보조 페이지 테이블의 복사 fork가 발생할 시, 보조 페이지 테이블의 복사를 수행해주어야 한다. process.c의 __do_fork()에서 supplemental_page_table_copy()를 호출하면서 보조 페이지 테이블의 복사를 수행한다. 우리는 이 함수를 구현해야 한다. 보조 페이지 테이블을 복사하는 이유는 다음과 같다. 프로세스가 fork() 시스템 콜을 통해 자식 프로세스를 생성할 때, 부모 프로세스의 가상 메모리 공간을 자식 프로세스로 복사해야 한다. 메모리 보호: 가상 메모리 공간의 복제와 공유를 통해 프로세스 간에 안전한 메모리 보호를 제공할 수 있다. supplemental_page_table_copy() 함수는 필요한 권한과 제약 조건을 유지하면서 보조 페이지 테이블을 복사하여 ..