Page fault가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이 떄 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택해 교체할 것인지 결정하는 기법
앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- 페이지 부재 횟수가 가장 적게 발생
각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
- 이해하기 쉽고 프로그래밍하기 간단함
- Belady 이상현상 : 물리적 페이지의 개수를 확장했는데도 페이지 폴트가 늘어나는 경우가 발생하는 문제점
세 개의 페이지 프레임을 가진 기억장치에서 FIFO 알고리즘을 사용해 교체했을 때 페이지 부재의 수는?
참조 페이지 - 2, 3, 2, 1, 5, 2, 3, 5
답 : 6
최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
- 각 페이지마다 계수기, 스택을 두어 현시점에서 가장 오래전에 사용된 페이지 교체
세 개의 페이지 프레임을 가진 기억장치에서 LRU 알고리즘을 사용해 교체했을 때 페이지 부재의 수는?
참조 페이지 - 2, 3, 2, 1, 5, 2, 3, 5
답 : 5
사용 빈도가 가장 적은 페이지를 교체하는 기법
- 활발하게 사용되는 페이지는 사용횟수가 많으므로 교체되지 않고 사용됨
최근에 사용하지 않은 페이지를 교체하는 기법
- 최근에 사용되지 않은 페이지는 앞으로도 사용되지 않을 가능성이 높음을 이용해 LRU에서 나타나는 시간적인 오버헤드를 줄일 수 있다.
- 최근 사용여부를 확인하기 위해 각 페이지마다 두개의 비트, 참조 비트와 변형 비트가 사용된다.
- 참조 비트 : 페이지가 호출되지 않았을 때는 0, 호출되었을 때는 1
- 변형 비트 : 페이지가 변경되지 않았을 때는 0, 변경되었을 때는 1
- 참조비트가 0, 변형비트가 0인 페이지는 교체 순서가 1번째가 되고, 참조비트가 0, 변형비트가 1인 페이지는 2번째, 참조비트와 변형비트 모두가 1인 페이지는 교체순서가 4번째가 된다.
가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법
- FIFO의 단점을 보완하는데 사용