본문 바로가기
컴퓨터공학기초 개념/운영체제

34. 가상메모리 - 페이지 교체 알고리즘

by devraphy 2021. 7. 8.

1. 페이지 교체 정책(Page Replacement Policy)

- 페이지 교체 정책은 한정적인 메모리를 효율적으로 사용하기 위한 기법 중 하나이다. 

- 쉽게 설명하자면, 메모리에 올려진 페이지 중 어떤 것을 내리고 어떤 새로운 페이지를 올릴지를 결정하는 규칙이다. 

- 일종의 swapping algorithm 이다. 

 

a) FIFO 페이지 교체 정책

- 가장 먼저 메모리에 올려진 페이지를 교체하는 방식

- 현실성과 효율성이 떨어져서 실제로 잘 사용되지는 않는다. 

 

b) OPT 최적 페이지 교체 정책(OPTimal Replacement Policy)

- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 방식

- 일반 OS에서는 구현 불가(예측이 불가능 하기 때문)

 

c) LRU 페이지 교체 정책(Least Recently Used)

- 가장 오래전에 사용한 페이지를 교체하는 방식

- OPT 교체 정책의 아이디어를 참고하여 과거 기록을 기반으로 구현

- 가장 활발하게 사용되는 페이지 교체 정책이다.  

 

d) LFU 페이지 교체 정책(Least Frequently Used)

- 가장 적게 사용한 페이지를 교체하는 방식

 

e) NUR 페이지 교체 정책(Not Used Recently)

- LRU와 마찬가지로 최근에 사용하지 않은 페이지를 교체하는 방식 

- 각 페이지마다 참조비트(R - Read)와 수정비트(M - Modified)을 할당함 

- (0,0) (0,1) (1,0) (1,1) 순서로 페이지를 교체한다. (0 - false / 1 - true)

 


2. 스레싱(Thrashing)

- 반복적으로 page fault(인터럽트)가 발생하여 과도하게 페이지 교체 작업만 일어나는 상황 

- 실제로 아무 일도 하지 못하는 상황이다. 

- 이와 같은 이유로 충분한 메모리 스펙을 준비해 놓는 것이 좋다. 

 

 

 

 

 

댓글