operating system

페이지 폴트 처리 순서

페이지 폴트는 “아직 안 올린 페이지”와 “접근하면 안 되는 주소”를 커널이 구분하는 과정입니다. 유효성 검사 뒤 frame 확보와 디스크 I/O가 이어집니다.

폴트 처리
01trap 02validate PTE 03allocate / read 04restart
trap

CPU가 faulting address와 접근 종류를 남기고 커널 핸들러로 들어간다.

validate PTE

주소 범위, present bit, R/W/X 권한을 확인해 demand paging과 보호 위반을 나눈다.

allocate / read

빈 frame을 찾거나 희생 페이지를 고른 뒤 swap/file에서 데이터를 읽는다.

restart

PTE와 TLB를 갱신한 뒤 같은 명령을 재실행하거나 SIGSEGV로 종료한다.

page fault 처리 단계

major fault는 디스크 I/O를 동반하고, minor fault는 매핑만 고치는 경우가 많습니다. 성능 분석에서는 이 둘을 분리해 봐야 합니다.