페이지 교체를 하기 위해서는 위에서 말씀하신 방법 중 한 가지를 써야할 것 같은데, 어떤 기준으로 고르는 것이 좋은가?
Answer
Page fault율이 적은 교체 방법을 이용하는 것이 좋다.
4Depth
Page fault율이 적은 교체 방법을 기준으로 선택한다고 했을 때, 어떤 방식을 선택하는 것이 가장 효율적인가?
Answer
최적 페이지 교체를 선택하는 것이 좋다.
다른 페이지 교체 방법의 경우 프레임의 개수가 많아질 때, 페이지 폴트율이 증가할 수 있다는 모순이 있다.(Belady의 모순)
최적 페이지 교체의 경우, 이 모순을 해결하기 위한 방법으로 고안되었기 때문에 Page fault율이 가장 적은 방식이다.
하지만, 최적 페이지 교체는 미래의 일을 예측해야하기 때문에 구현하기 어려워 실제 사용에는 무리가 있다.
5Depth
최적 페이지 교체를 실제에서 많이 사용하지 않는다면, 어떤 페이지 교체를 사용하는 것이 좋다고 생각하는가?
Answer
LRU 알고리즘을 일반적으로 많이 사용한다.
LRU 알고리즘은 가장 오랜 기간 동안 사용하지 않은 페이지를 교체하는 방식이다.
LRU 근사 알고리즘으로 변경 비트나 참조 비트를 사용하는 알고리즘이 존재한다.
6Depth
그렇다면 LRU 알고리즘은 단점이 없는가?
Answer
아니다.
LRU 알고리즘은 해당 페이지가 언제 사용되었는지를 기억하고 있어야한다.
따라서 하드웨어의 지원이 필요하다.
CPU에 counter 계수를 추가해 페이지에 접근할 때마다 업데이트를 해 주거나, 페이지를 스택으로 유지하는 방법이 수반된다.
하드웨어가 아닌 소프트웨어 지원을 통해 해결한다면 인터럽트를 사용해야 하므로 실행 속도가 저하된다는 단점도 있다.
7Depth
해당 단점들이 있는데 LRU 알고리즘이 왜 다른 알고리즘보다 효율적이고 많이 사용되는가?
Answer
지역성때문이다.
한 번 사용된 페이지는 가까운 미래에 다시 사용될 것이라는 시간적 지역성에 의거하고 있기 때문에 LRU알고리즘은 효율적이다.
1Depth
Answer
메인 메모리에서 희생할 페이지를 골라 스왑해야한다.2Depth
Answer
FIFO, 최적 페이지 교체, LRU, LFU, MFU 등이 있다.3Depth
Answer
Page fault율이 적은 교체 방법을 이용하는 것이 좋다.4Depth
Answer
최적 페이지 교체를 선택하는 것이 좋다.다른 페이지 교체 방법의 경우 프레임의 개수가 많아질 때, 페이지 폴트율이 증가할 수 있다는 모순이 있다.(Belady의 모순)
최적 페이지 교체의 경우, 이 모순을 해결하기 위한 방법으로 고안되었기 때문에 Page fault율이 가장 적은 방식이다.
하지만, 최적 페이지 교체는 미래의 일을 예측해야하기 때문에 구현하기 어려워 실제 사용에는 무리가 있다.
5Depth
Answer
LRU 알고리즘을 일반적으로 많이 사용한다.LRU 알고리즘은 가장 오랜 기간 동안 사용하지 않은 페이지를 교체하는 방식이다.
LRU 근사 알고리즘으로 변경 비트나 참조 비트를 사용하는 알고리즘이 존재한다.
6Depth
Answer
아니다.LRU 알고리즘은 해당 페이지가 언제 사용되었는지를 기억하고 있어야한다.
따라서 하드웨어의 지원이 필요하다.
CPU에 counter 계수를 추가해 페이지에 접근할 때마다 업데이트를 해 주거나, 페이지를 스택으로 유지하는 방법이 수반된다.
하드웨어가 아닌 소프트웨어 지원을 통해 해결한다면 인터럽트를 사용해야 하므로 실행 속도가 저하된다는 단점도 있다.
7Depth
Answer
지역성때문이다.한 번 사용된 페이지는 가까운 미래에 다시 사용될 것이라는 시간적 지역성에 의거하고 있기 때문에 LRU알고리즘은 효율적이다.
Additional Explain
지역성에 대한 내용은 지역성