면접 질문들

페이지 교체 알고리즘

29도 맑음 2022. 1. 4. 00:41
반응형

1) 최적기법(Optimal 또는 Min)

-앞으로 가장 오랫동안 참조되지 않을 페이지를 선택하여 교체

=>미래를 알수 없음으로 현실적으로 불가능

 

2) FIFO기법

-가장 오래된 페이지 교체

시간 기록 후  선택 / 큐사용(교체대상은 항상 큐 맨앞)

부재율 낮추기 위해 프레임을 더 주었을 경우 오히려 부재율이 올라가는 현상도 (fifo모순, belay's anomaly)

 

3) LRU기법

-least recently used로 참조된지 가장 오래된 페이지 교체

시간 기록/ 스택 사용(가장 밑에 있는 페이지 교체) - 스택 꼭대기에는 최근 사용한것 밑에있을수록 오래된것

미래를 알 수 없지만 최근에 자주 참조된 페이지가 앞으로도 참조될 것이라는 판단에 근거

 

4) Second-chance 기법

-적재된 후 한번이라도 더 참조된 페이지를 바로 교체시키지 않고 한번 더 메모리에 머물 수 있는 기회를 주는 것

참조비트 (0:바로교체, 1:한번이상 참조 된 것으로 0으로 바꾸고 큐 맨뒤로) / 큐사용

 

5) Clock기법

-second-chance에 순환큐(포인터를 움직이는 것)

 

6) 개선된 Second-chance 기법

-clock기법+갱신bit

참조 갱신

  0     0  찾고 교체, 다음으로 이동

  0     1  찾고 그놈 교체, 다음으로 이동

그외는 참조비트 0으로 만들면서 반복

3패턴을 반복하면 됨

 

7) NUR 기법

-not used recently 참조비트를 주기적으로 0으로 만들면서 (0,0) (0,1) (1,0) (1,1) 순으로 선택

 

8) LFU 기법

-least frequently used로 가장 참조 적게된 페이지 선택

 

9) MFU 기법

-most frequently used로 가장 참조 많이 된 페이지 선택

반응형