토픽 43 / 85·메모리 관리
페이지 폴트 (Page Fault)
페이지 폴트 (Page Fault)
프로세스가 접근하려는 가상 페이지가 물리 메모리에 없을 때 발생하는 예외(Exception)로, 운영체제가 해당 페이지를 디스크에서 로드하여 처리
목적: 가상 메모리 구현, 요구 페이징 지원, 메모리 확장
특징: 트랩/예외, 커널 처리, 디스크 I/O 유발, 성능 영향
발생 원인
- •요구 페이징(Demand Paging): 필요할 때만 페이지 로드
- •페이지 스왑 아웃: 이전에 스왑된 페이지 재접근
- •메모리 매핑 파일: 파일의 아직 로드되지 않은 부분 접근
처리 과정
유형
- •Minor (Soft) Fault: 페이지가 메모리에 있으나 매핑 안 됨(공유 페이지)
- •Major (Hard) Fault: 디스크 I/O 필요
성능 영향: 메모리 접근 ~100ns, 페이지 폴트 ~10ms (10만 배 차이)
EAT (Effective Access Time): EAT = (1-p) × ma + p × (page_fault_time)
장점: 요구 페이징 가능, 물리 메모리보다 큰 프로그램 실행
단점: 디스크 I/O 오버헤드, 빈번 시 스레싱
적용사례: 모든 가상 메모리 시스템, 요구 페이징, 메모리 매핑 파일
비교: Minor(빠름/I/O없음) vs Major(느림/디스크I/O)
연관: 가상 메모리, 페이지 교체, MMU, 요구 페이징, 스레싱