⭐️ Page Replacement Algorithm

m_ngyeong·2024년 4월 26일
0

정보처리기사 이론

목록 보기
20/36
post-thumbnail

Utilization of application Software Technology


Virtual Memory

가상기억장치(Virtual Memory)는 보조기억장치의 일부를 주기억장치처럼 사용하는 것으로 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.

가상기억장치 구현 기법

  • Paging 기법 : 프로그램을 고정된 크기의 일정한 블록(=Page)으로 나눔, 페이지 크기를 일정하게 나누어진 주기억장치의 단위를 페이지 프레임(Page Frame)이라고 함
  • Segmentation 기법 : 가변적인 크기의 블록으로 나눔, 논리적인 크기로 나눈 단위를 세그먼트(Segment)라 하며, 각 세그먼트는 고유한 이름과 크기를 가짐

Page Replacement Algorithm

페이지 교체 알고리즘이란 페이지 부재(Page Fault)가 발생하면 가상기억장체에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프로엠이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법을 말한다.

OPT(OPTimal replacement, 최적 교체) :

OPT는 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법이다.

  • Belady(벨레이디)가 제안
  • 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

FIFO(First In First Out) :

FIFO는 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법이다.

🙋‍♀️ : 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비었다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수를 구하시오.
페이지 참조 순서 : 1,2,3,1,2,4,5,1
🍏 : 6
참조 페이지가 페이지 테이블에 없을 경우 페이지 결함이 발생한다.


❶ 초기에는 모든 페이지가 비어 있으므로 처음 1,2,3 그리고 4 페이지 적재 시 페이지 결함이 발생.(참조 페이지를 각 페이지 프렘이에 차례로 적재시키되 이미 적재된 페잊는 해당 위치의 페이지 프레임을 사용)
❷ (사용할 페이지 프레임이 없을 경우) 가장 먼저 들어와 있었던 페이지 1을 제거한 후 5을 적재.
❸ 그 다음에 적재된 페이지 2를 제거한 후 1을 적재.
⇒ 이러한 과정으로 모든 페이지에 대한 요구를 처리하고 나면 총 페이지 결함 발생 횟수는 6회.

LRU(Least Recently Used) :

LRU최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법이다.

🙋‍♀️ : 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비었다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, LRU 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수를 구하시오.
페이지 참조 순서 : 1,2,3,1,2,4,1,2,5
🍏 : 5
참조 페이지가 페이지 테이블에 없을 경우 페이지 결함이 발생한다.


❶ 초기에는 모든 페이지가 비어 있으므로 처음 1,2,3 그리고 4 페이지 적재 시 페이지 결함이 발생.(참조 페이지를 각 페이지 프렘이에 차례로 적재시키되 이미 적재된 페잊는 해당 위치의 페이지 프레임을 사용)
❷ 참조 페이지 1,2는 이미 적재되어 있으므로 그냥 참조.
❸ (사용할 페이지 프레임이 없을 경우) 현재 시점에서 가장 오랫동안 사용되지 않은 페이지 3을 제거한 후 5를 적재.
⇒ 이러한 과정으로 모든 페이지에 대한 요구를 처리하고 나면 총 페이지 결함 발생 횟수는 5회.

LFU(Least Frequently Used) :

LFU사용 빈도가 가장 적은 페이지를 교체하는 기법이다. 즉, 참조 횟수가 가장 적은 페이지를 교체하는 기법이다.

  • 활발하게 사용되는 페이지는 사용 횟수가 많아 교체되지 않고 사용됨

🙋‍♀️ : 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비었다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, LFU 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수를 구하시오.
페이지 참조 순서 : 1,2,3,1,2,4,1,2,5,7
🍏 : 6
참조 페이지가 페이지 테이블에 없을 경우 페이지 결함이 발생한다.

❶ 초기에는 모든 페이지가 비어 있으므로 처음 1,2,3 그리고 4 페이지 적재 시 페이지 결함이 발생.(참조 페이지를 각 페이지 프렘이에 차례로 적재시키되 이미 적재된 페잊는 해당 위치의 페이지 프레임을 사용)
❷ 참조 페이지 1,2는 이미 적재되어 있으므로 그냥 참조.
❸ (사용할 페이지 프레임이 없을 경우) 현재 시점에서 가장 사용 횟수가 적은 페이지 4을 제거한 후 5를 적재.
❹ 다음으로 가장 사용 횟수가 적은 페이지 5을 제거한 후 7를 적재.
⇒ 이러한 과정으로 모든 페이지에 대한 요구를 처리하고 나면 총 페이지 결함 발생 횟수는 6회.

NUR(Not Least Recently) :

NUR최근에 사용하지 않은 페이지를 교체하는 기법이다.

  • 최근에 사용되지 않은 페이지는 앞으로도 사용되지 않을 가능성이 크다는 전제로, LRU에서 나타나는 시각적인 오버헤드를 줄일 수 있음
  • 최근의 사용 여부를 확인하기 위해서 페이지마다 참조 비트와 변형 비트를 사용

SCR(Second Chance Replacement) :

SCR는 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법으로 FIFO 기법의 단점을 보완하는 기법이다.



참고,
길벗알앤디. 『정보처리기사 실기 단기완성』. 길벗. 2023.

profile
ʚȉɞ

0개의 댓글