LRU (페이지 교체 알고리즘): 두 판 사이의 차이
IT 위키
(새 문서: LRU(Least Recently Used)는 가장 오랫동안 사용되지 않은 페이지를 교체 대상으로 선택하는 '''페이지 교체 알고리즘'''이다. 운영체제의 가상 메모리 관리, 캐시 시스템, 데이터베이스 등에서 효율적인 메모리 활용을 위해 사용된다. ==개념== LRU 알고리즘은 다음과 같은 직관에 기반한다: *최근에 사용된 페이지는 앞으로도 다시 사용할 가능성이 높다 *반대로, 오래 사용되...) |
(차이 없음)
|
2025년 4월 4일 (금) 01:44 기준 최신판
LRU(Least Recently Used)는 가장 오랫동안 사용되지 않은 페이지를 교체 대상으로 선택하는 페이지 교체 알고리즘이다. 운영체제의 가상 메모리 관리, 캐시 시스템, 데이터베이스 등에서 효율적인 메모리 활용을 위해 사용된다.
개념[편집 | 원본 편집]
LRU 알고리즘은 다음과 같은 직관에 기반한다:
- 최근에 사용된 페이지는 앞으로도 다시 사용할 가능성이 높다
- 반대로, 오래 사용되지 않은 페이지는 앞으로도 사용되지 않을 가능성이 높다
따라서 페이지 프레임이 가득 찼을 때, 가장 오래 전에 사용된 페이지를 제거하고 새 페이지를 로드한다.
동작 방식[편집 | 원본 편집]
LRU는 각 페이지의 최근 사용 시점을 기억해야 하며, 일반적으로 다음과 같은 방식으로 구현된다:
- 새 페이지가 요청되었을 때:
- 이미 프레임에 있으면 → 단순히 최근 사용 시간 갱신
- 없다면:
- 프레임이 비어 있으면 → 새 페이지 삽입
- 프레임이 가득 찼으면 → 가장 오래된 페이지 제거 후 새 페이지 삽입
구현 방법[편집 | 원본 편집]
- 카운터 방식
- 각 페이지에 타임스탬프 저장
- 가장 오래된 타임스탬프를 가진 페이지를 제거
- 스택 방식
- 페이지를 스택(또는 리스트)으로 관리
- 사용 시 스택의 맨 위로 이동, 가장 아래가 가장 오래된 페이지
- 해시 + 이중 연결 리스트 (실제 시스템 캐시에서 사용)
- O(1) 시간에 접근/삭제 가능
예시[편집 | 원본 편집]
페이지 프레임 수: 3 페이지 요청 순서: 7, 0, 1, 2, 0, 3, 0, 4
동작:
- 7 → [7]
- 0 → [7, 0]
- 1 → [7, 0, 1]
- 2 → [0, 1, 2] (7 제거)
- 0 → [1, 2, 0]
- 3 → [2, 0, 3] (1 제거)
- 0 → [2, 3, 0]
- 4 → [3, 0, 4] (2 제거)
→ 페이지 폴트 6회
장점[편집 | 원본 편집]
- 페이지 교체 성능이 우수함 (참조 지역성 가정에 부합)
- 많은 시스템에서 실용적으로 사용 가능
단점[편집 | 원본 편집]
- 최근 사용 시간 추적을 위한 오버헤드 존재
- 완전한 구현은 하드웨어 또는 추가 자료구조 필요
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Silberschatz, A., Galvin, P. B., & Gagne, G. (2020). Operating System Concepts. Wiley
- Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson