가상 메모리 페이지 교체
IT 위키
(가상메모리 페이지 교체에서 넘어옴)
가상 메모리 페이지 교체는 운영체제의 가상 메모리 관리 기법 중 하나로, 물리 메모리(프레임)가 가득 찼을 때 새로운 페이지를 적재하기 위해 기존 페이지 중 일부를 제거하는 과정이다. 페이지 교체는 페이지 부재(page fault) 발생 시 메모리 효율을 유지하기 위해 필수적으로 수행된다.
1 개념[편집 | 원본 편집]
- 가상 메모리 시스템에서는 실제 메모리보다 큰 주소 공간을 사용할 수 있다.
- 프로세스가 참조한 페이지가 물리 메모리에 없으면 페이지 부재 발생
- 이때 새로운 페이지를 적재할 공간이 없다면, 기존 페이지 중 하나를 교체해야 한다
- 어떤 페이지를 교체할지를 결정하는 것이 페이지 교체 알고리즘의 역할이다
2 페이지 교체 과정[편집 | 원본 편집]
- 프로세스가 아직 메모리에 없는 페이지를 참조함
- 페이지 폴트 발생 → 운영체제가 처리 개입
- 프레임에 여유 공간이 없는 경우 교체 대상 페이지 선정
- 대상 페이지가 수정되었으면 디스크에 기록
- 새 페이지를 디스크에서 메모리로 적재
- 페이지 테이블 갱신
3 교체 알고리즘[편집 | 원본 편집]
가상 메모리의 페이지 교체는 다양한 알고리즘에 의해 수행되며, 대표적인 알고리즘은 다음과 같다:
- FIFO (페이지 교체 알고리즘)
- 가장 먼저 들어온 페이지 제거
- LRU (페이지 교체 알고리즘)
- 가장 오랫동안 사용되지 않은 페이지 제거
- LFU (페이지 교체 알고리즘)
- 참조 횟수가 가장 적은 페이지 제거
- OPT (최적 페이지 교체)
- 앞으로 가장 오랫동안 사용되지 않을 페이지 제거 (이론적 최적 기준)
- Clock 알고리즘
- LRU 근사 알고리즘으로 하드웨어 구현에 적합
- NUR (페이지 교체 알고리즘)
- 최근 사용 여부와 수정 여부(R/M 비트)를 이용한 간단한 근사 알고리즘
- SCR(Second Chance Replacement)라고도 한다.
- LRU의 개선 기법
- 참조 비트와 변형 비트를 이용하여 두번 연속 사용되지 않을 경우 삭제
- MFU(Most Frequency Used)
- 가장 빈번하게 사용된 페이지를 교체
- 구역성(Locality)에 반하는 것으로, 거의 사용되지 않는다.
4 성능 기준[편집 | 원본 편집]
- 페이지 폴트 수
- 디스크 I/O 횟수
- CPU 부하
- 캐시 지역성 활용도
5 벨라디의 역설[편집 | 원본 편집]
6 목적[편집 | 원본 편집]
- 한정된 물리 메모리를 효율적으로 관리
- 프로그램의 메모리 접근 지역성(locality)을 최대한 활용
- 전체 시스템의 응답성과 처리량 향상
7 같이 보기[편집 | 원본 편집]
8 참고 문헌[편집 | 원본 편집]
- Silberschatz, A., Galvin, P. B., & Gagne, G. (2020). Operating System Concepts. Wiley
- Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson