NUR

NUR(Not Used Recently, 최근에 사용하지 않은 페이지 교체)은 참조 비트와 변형 비트를 사용해 최근에 사용되지 않은 페이지를 우선 교체하는 페이지 교체 알고리즘이다. LRU시간 정보 추적 비용을 줄이기 위한 근사 기법이다.

두 개의 비트

  • 참조 비트(R): 최근에 페이지가 참조되었으면 1
  • 변형 비트(M): 페이지가 수정되었으면 1

이 둘의 조합으로 4가지 상태가 만들어진다.

(R, M)설명교체 우선순위
(0, 0)최근 미참조 + 미변형1순위 (가장 먼저 교체)
(0, 1)최근 미참조 + 변형2순위 (디스크 쓰기 필요)
(1, 0)최근 참조 + 미변형3순위
(1, 1)최근 참조 + 변형4순위 (가장 나중)

동작

  1. 페이지 폴트 발생
  2. (0,0) 페이지를 찾아 교체. 없으면 (0,1) → (1,0) → (1,1) 순으로 탐색
  3. 일정 주기마다 모든 R 비트를 0으로 리셋

장단점

  • 장점: LRU에 비해 비트 두 개만 추가하면 됨, 구현 간단, 디스크 I/O 최소화
  • 단점: 참조 시점의 정밀도가 낮음, 주기적 리셋 비용

관련 노트