페이지 폴트는 프로세스가 필요로 하는 페이지가 물리 메모리에 없어서 발생하는 예외 상황을 의미한다.
페이지 폴트의 원인
- 초기 로딩: 프로그램이 실행될 때 초기에 필요한 페이지들이 메모리에 로딩되지 않은 경우.
- 페이지 교체: 물리 메모리에 여유 공간이 부족해져 페이지 교체가 필요한 경우.
- 처음부터 물리 메모리에 없는 페이지에 접근: 처음부터 물리 메모리에 없는 페이지에 접근하는 경우.
페이지 폴트 처리 메커니즘
- 페이지 폴트 핸들링: 운영체제는 페이지 폴트를 감지하고, 필요한 페이지를 디스크에서 읽어와 물리 메모리에 적재한다.
- 페이지 교체 알고리즘: 물리 메모리가 가득 찬 상태에서 페이지 폴트가 발생하면 어떤 페이지를 교체할지 결정하기 위해 페이지 교체 알고리즘이 사용된다.
페이지 폴트와 성능
- 성능 저하: 페이지 폴트는 디스크에서 페이지를 읽어오는 과정이 필요하므로 성능에 영향을 미친다.
- 페이지 폴트 최적화: 프리페칭(Pre-fetching)이나 스와핑 등의 기술을 통해 페이지 폴트를 최소화하고 성능을 향상시키는 방법들이 있다.
페이지 폴트는 가상 메모리 시스템에서 빈번하게 발생하는 현상 중 하나로, 이를 효과적으로 처리함으로써 시스템의 성능을 최적화할 수 있다. 페이지 폴트 핸들링과 페이지 교체 알고리즘은 운영체제의 중요한 역할 중 하나이며, 적절한 최적화 기술을 적용함으로써 메모리 관리의 효율성을 높일 수 있다.
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project3-Virtual Memory) 페이지 교체 알고리즘(Page Replacement Policy) (0) | 2023.12.16 |
---|---|
(Project3-Virtual Memory) 지연 로딩(Lazy Loading) (0) | 2023.12.16 |
(Project3-Virtual Memory) 변환 색인 버퍼(TLB) (0) | 2023.12.16 |
(Project3-Virtual Memory) 페이지 테이블(Page Table) (0) | 2023.12.16 |
(Project3-Virtual Memory) 가상 메모리(Virtual Memory) (0) | 2023.12.16 |