3학년/운영체제

Chapter4-4

김야키 2019. 6. 23. 21:57

 

가상 메모리 관리(페이지 교체 알고리즘)

 

페이지 교체 알고리즘

-      해당 페이지를 빼고 다른 패이지를 넣기 위한 방법

-      메모리에 모든 페이지를 다 올리지 못하기 때문에 사용

-      프로세스당 할당된 페이지 수가 정해져 있는 상황

 

알고리즘 종류

-      FIFO

-      Optimal(최적)

-      LRU

-      2차기회

-      LFU

 

FIFO ( First - In - First - Out )

-      8 ->8,1 -> 812 -> 312 ***

-      먼저 메모리를 차지하고 있는 페이지를 내보내고 해당 자리에 다음에 들어오는 페이지를 할당한다.

-      Page Fault (페이지 부재)

  • 할당된 페이지 안에 접근할 페이지가 없는 경우

-      FIFO의 모순

  • 할당된 페이지 수가 많아지면 PageFault(페이지부재)가 많이 일어나지 않는 것처럼 보이지만 사실상 그렇지 않다.
  • 무조건 들어온 순서가 가장 오래된 것이 나가는 것 이기 때문
  • 다음에 들어올 것이 사용 할 것이라도 다시 내보낸다.

 

Optimal

-      가장 많이 사용되지 않을 페이지를 교체

 

LRU ( Least Recentlyu Used ) - 가장 먼저 사용된 페이지를 내보냄

-      페이지 부재가 일어난 곳부터 계산

-      스택 사용

  • 접근을 할 때 마다 스택에서 해당 페이지 번호를 가장 위로 올린다.
  • 페이지 부재가 일어난 경우 가장 밑에 있는 페이지를 빼고 가장 위에 페이지를 쌓는다.

-      시간 사용

  • 접근이 될 때 마다 해당 페이지에 시간을 더해준다.
  • 패이지 부재가 일어난 경우 가장 시간이 적은 페이지를 빼고 해당 위치에 가장 높은 시간을 부여한다.

 

2차 기회 ( Second Chance ) - 구현상 가장 좋은 방법

-      처음에 페이지가 할당되면 비트를 사용해서 0을 부여한다.

-      다음에 참조가 되면 0에서 1로 변경한다.

-      원형 Queue의 형태

-      한 번도 참조가 되는 경우가 없으면 FIFO와 같은 형식으로 변경

-      기회가 지난 후에는 비트를 0으로 변경시킨다.

-      페이지가 자주 참조되는 페이지는 참조비트를 1로 해주고 그 다음에는 다시 0으로 변경한다.

 

LFU ( Least Frequently Used ) - 가장 덜 자주 사용된 페이지를 내보냄

-      사용할 때 마다 카운트를 함

-      가장 적게 카운트 된 페이지를 내보냄

'3학년 > 운영체제' 카테고리의 다른 글

Chapter4-5  (0) 2019.07.23
Chapter4-3  (0) 2019.06.23
Chapter4-2  (0) 2018.04.17
Chapter4-1  (0) 2018.04.17
Chapter3  (0) 2018.04.13