pagingpage-faultpage-table

페이징과 페이지 폴트를 설명해 주세요

면접 출제
예상 시간
8
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

page와 frame의 차이는 무엇인가요?

부가 설명

메모리를 연속된 큰 덩어리로만 배치하려고 하면 빈 공간 관리가 어려워집니다. 페이징은 메모리를 일정한 크기로 나누어 어디에 놓였는지 page table로 찾게 합니다. 프로그램은 연속된 주소처럼 보지만 실제 frame은 물리 메모리 곳곳에 흩어져 있을 수 있습니다.

page fault는 이름 때문에 항상 버그처럼 들리지만 그렇지는 않습니다. 아직 메모리에 올리지 않은 page를 처음 접근할 때도 발생하고, OS가 필요한 page를 가져오면 실행이 이어집니다. 다만 page fault가 너무 많아지면 디스크 I/O가 늘고, thrashing처럼 프로그램이 계산보다 page 교체에 시간을 쓰는 상태가 될 수 있습니다.

한 줄 정리

페이징은 메모리를 page 단위로 매핑하는 방식이고, page fault는 필요한 page나 권한을 확인하는 순간 발생하는 예외입니다.