운영체제(OS)/keyword

(Project3-Virtual Memory) 페이지 교체 알고리즘(Page Replacement Policy)

스탠딩 2023. 12. 16. 15:35

페이지 교체 정책은 물리 메모리가 가득 찬 상태에서 새로운 페이지를 적재하기 위해 어떤 페이지를 내릴지를 결정하는 정책이다.

 

출처 : https://www.studytonight.com/operating-system/page-replacement-algorithms-in-operating-system#google_vignette

 

주요 페이지 교체 정책

- FIFO(First-In-First-Out): 가장 먼저 들어온 페이지를 제일 먼저 내리는 방식이다. 단순하고 구현이 쉽지만, 프레임 수를 늘려도 페이지 폴트가 더 많이 발생하는 벨라디의 모순(Belady's Anomaly)이 발생할 수 있다.

 

- LRU(Least Recently Used): 최근에 사용되지 않은 페이지를 우선으로 내리는 방식이다. 각 페이지에 접근할 때마다 사용 시간을 업데이트하고, 가장 오래 전에 사용된 페이지를 교체한다.

 

- LFU(Least Frequently Used): 가장 적게 사용된 페이지를 우선으로 내리는 방식이다. 각 페이지에 접근할 때마다 사용 횟수를 업데이트하고, 사용 횟수가 가장 적은 페이지를 교체한다.

 

- Optimal: 이론적으로 최적인 교체 정책으로, 미래에 사용되지 않을 페이지를 미리 예측하여 해당 페이지를 교체한다. 하지만 실제로는 미래를 예측하기 어려워 실현은 어렵고 성능 비교 용도로 이용한다.

 

각 알고리즘은 자체적인 특성과 장단점을 가지고 있으며, 시스템의 요구사항에 따라 최적의 알고리즘을 선택하는 것이 중요하다. 페이지 교체 정책을 효과적으로 선택하고 조정함으로써 메모리 관리의 성능을 향상시킬 수 있다.