개요
Demanding Paging은 프로그램이 필요한 파일의 모든 내용을 메모리에 적재하는 것이 아니라, Virtual Memory를 사용하여 필요한 순간에만 필요한 페이지를 Storage에서 읽어들여서 메모리에 올리는 기술이다.
과정
- TLB 미스
- 페이지 테이블 Walk
- 페이지 폴트
- Trap to Kernel
- Virtual Address를 File + Offset으로 변환
- Page frame할당
- Disk block을 읽어서 Frame에 작성 시작 (즉 DMA 시작)
- Disk read가 끝나면 Disk Interrupt
- 완료된 페이지를 Valid하다고 표기
- Process를 Page Fault가 난 지점부터 수행
- TBL 미스
- 페이지 테이블 워크 -> 정상적으로 페이지가 반환됨