10. 시간적으로 멀리 떨어진 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
LRU 페이지 교체 알고리즘 (Latest Recently Used page replacement algorithm)
•
숫자가 가장 작은 페이지, 즉 사용된 지 가장 오래된 페이지를 대상 페이지로 선정한다.
•
알고리즘의 성능은 FIFO 페이지 교체 알고리즘보다 우수하고 최적 페이지 교체 알고리즘보다는 조금 떨어진 것으로 알려져 있다.
카운터에 기반한 구현
•
시간을 표시한 괄호 숫자를 카운터 숫자로 생각하면 된다.
•
접근 시간을 기록하든 카운트를 기록하든 두 방법은 모두 추가적인 메모리 공간을 필요로 하는 것이 단점이다.
참조 비트 쉬프트 방식
•
참조 비트의 초깃값은 0이며 페이지에 접근할 때마다 1로 바뀐다
•
참조한 횟수가 아니라, 참조한 시간을 기준으로 한다.
•
참조 비트 쉬프트 방식도 작지 않은 공간을 사용하므로 공간을 낭비하는 것이 단점이다
11. 사용 빈도가 적은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
LFU 페이지 교체 알고리즘 (Latest Frequently Used page replacement algorithm)
•
페이지가 몇 번 사용 되었는 지를 기준으로 횟수가 가장 적은 페이지를 대상 페이지로 선정한다.
•
괄호의 숫자는 사용 빈도(동일하다면 맨 위의 페이지를 선택하도록 가정)
•
FIFO 페이지 교체 알고리즘보다 성능이 우수하다.
단점
•
LRU 페이지 교체 알고리즘과 마찬가지로 낭비되는 메모리 공간이 많다.
•
페이지 접근 횟수(빈도)를 표시하는 데 추가 공간이 필요하므로 그만큼 메모리가 낭비된다.
12. 최근에 사용한 적이 없는 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
NUR 페이지 교체 알고리즘 (Not Recently replacement algorithm)
•
최근에 사용하지 않은 페이지를 교체
•
LRU, LFU 페이지 교체 알고리즘과 성능이 거의 비슷하면서도 불필요한 공간 낭비 문제를 해결한 알고리즘
•
참조 비트와 변경 비트를 가진다. (초깃값은 0)
◦
우선순위: 참조비트 > 변형비트
◦
참조 비트: 페이지에 접근(read/execute)하면 1이 된다.
◦
변경 비트: 페이지가 변경(write/append)되면 1이 된다.
•
모든 페이지가 (1,1)이 되면 모든 페이지 비트를 (0,0)으로 초기화한다.
•
FIFO 페이지 교체 알고리즘보다 성능이 우수하다.
13. FIFO 변형 페이지 교체 알고리즘 중, 성공한 페이지를 큐의 맨 뒤로 옮김으로써 기회를 한 번 더 주는 페이지 교체 알고리즘은 무엇인가?
2차 기회 페이지 교체 알고리즘
•
특정 페이지에 접근하여 페이지 부재(page fault)없이 성공할 경우 해당 페이지를 큐의 맨 뒤로 이동
•
성능은 LRU, LFU, NUR 페이지 교체 알고리즘보다 약간 낮고, FIFO 페이지 교체 알고리즘보다 약간 높다.