페이지 교체 알고리즘
Updated:
페이지 교체
요구 페이징 에서 언급된대로 프로그램 실행시에 모든 항목이 물리 메모리에 올라오지 않기 때문에, 프로세스의 동작에 필요한 페이지를 요청하는 과정에서 page fault(페이지 부재)가 발생하게 되면, 원하는 페이지를 보조저장장치에서 가져오게 된다. 하지만, 만약 물리 메모리가 모두 사용중인 상황이라면, 페이지 교체가 이뤄져야 한다.(운영체제가 프로세스를 강제 종료하는 방법이 있다)
- 페이지 교체 흐름
- 디스크에서 필요한 페이지의 위치를 찾는다.
- 빈 페이지 프레임을 찾는다.
(1) 페이지 교체 알고리즘을 통해 victim 페이지를 고른다.
(2) 희생될 페이지를 디스크에 기록하고, 관련 페이지 테이블을 수정한다. - 새롭게 비워진 페이지 테이블 내 프레임에 새 페이지를 읽어온다.
페이지 교체 알고리즘
- FIFO(First-in-First-out) : 메모리에 먼저 올라온 페이지를 먼저 내보낸다는 알고리즘
- Opt(Optimal) : 가장 사용하지 않을 페이지를 가장 우선적으로 내려 보내는 알고리즘
- LRU(Least-Recently-Used) : 최근에 사용하지 않은 페이지를 가장 먼저 내려보내는 알고리즘