Page Fault

페이지 폴트 처리 순서

CPU가 유효하지 않은 페이지 테이블 항목을 만나면 커널이 접근 권한과 주소를 확인하고 필요한 페이지를 가져옵니다.

Trap

커널 진입

MMU가 페이지 부재를 감지하면 커널의 예외 처리로 들어갑니다.

검사

주소와 권한 확인

참조가 합법인지, 읽기와 쓰기 권한이 맞는지 확인합니다.

적재

빈 프레임 확보

필요하면 희생 페이지를 내보내고 디스크에서 페이지를 읽습니다.

재개

명령 재실행

페이지 테이블을 갱신한 뒤 중단된 명령을 다시 실행합니다.

성능을 읽는 두 종류

Minor

디스크 I/O 없이 빈 프레임 할당이나 공유 페이지 매핑으로 해결됩니다.

Major

디스크에서 페이지를 읽어야 하므로 밀리초 단위 지연이 생깁니다.

COW

쓰기 시점에 공유 페이지를 복사해 fork 비용을 뒤로 미룹니다.

접근 시점 적재

요구 페이징의 장점은 처음부터 모든 페이지를 올리지 않고, 실제 접근한 페이지에만 메모리와 I/O 비용을 쓰는 것입니다.