[OS] 페이지 교체 알고리즘

윤정민·2023년 9월 28일
0

OperationSystem

목록 보기
14/16

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로 할 수 있음

  • 실제로 전체를 기준으로 페이지를 교체하는게 더 효율적임
profile
그냥 하자

0개의 댓글