1. 페이지 교체 필요성
- 한정된 메모리 내에 필요한 페이지를 올리다 보면 메모리가 가득차게 됨
- 새로 들어올 페이지를 위해 이전에 들어온 페이지 중 사용하지 않는다 판단한 페이지를 방출해야함(victim page)
2. 페이지 교체 알고리즘
2.1. FIFO Algorithm
- victim page: 가장먼저 메모리에 올라온 페이지
- 가장 간단하며, 초기화 코드에서 적절한 방법
2.2. OPT Algorithm
- Optimal Page Replacement Algorithm: 앞으로 가장 사용하지 않을 페이지를 가장 우선적으로 내보냄
- 앞으로 사용하지 않을 페이지를 판단하기 힘듦
- 페이지 결함의 횟수를 많이 감소시킬 수 있음
2.3. LRU Algorithm
- Least-Recently-Used: 최근에 사용하지 않은 페이지를 가장 먼저 내려보내는 알고리즘
- 최근에 사용하지 않았으면, 나중에도 사용되지 않을 것이라는 아이디어에서 나옴
- 실제 사용가능한 페이지 교체 알고리즘 중 가장 좋은 방법 중 하나임
3. 교체 방식
다중 프로그래밍의 경우, 메인메모리에 다양한 프로세스가 동시에 올라올 수 있어 페이지 교체 시 victim기준을 global로 할 수 있고 local로 할 수 있음
- 실제로 전체를 기준으로 페이지를 교체하는게 더 효율적임