FIFO (First In Fisrt Out) - 말 그대로 선입선출 - FIFO는 '큐'라는 자료구조를 참고하면 이해하기가 쉬운데, 긴 파이프 모형 한쪽에 구슬을 넣으면 자연스럽게 다른 한쪽은 그 구슬이 나오게 되는 형태가 떠오르는데 이처럼 한쪽은 입력만, 한쪽은 출력만 실행하는 것을 의미한다.
페이지 교체 알고리즘 - 메모리에 요청한 페이지가 존재하지 않는 페이지 부재 현상이 발생하여 메모리(CPU)에 해당 페이지를 적재하려 할 때, 메모리에 남아 있는 공간이 없어 현재 메모리에 있는 페이지 중에 내보낼 페이지를 결정하는 알고리즘
페이지 부재(Page Fault) - CPU에서 현재 요청한 페이지가 메모리에 없어 무효로 세팅되어 있는 경우, 페이지를 디스크에서 읽어오는 과정에서 오버헤드가 발생하여 성능에 큰 영향을 미친다.
출처 : on-n-on-turtle.log
풀이 방법이 친절하게 나와 있음에도 불구하고 이해가 되지 않아서
FIFO 페이지 교체 알고리즘 계산법을 확실하게 공부했다.
참조페이지
2
3
2
1
5
2
3
5
주기억장치 (↑ in)
페이지부재
페이지 교체 알고리즘 계산법은 참조할 페이지 수만큼 페이지 참조열(Page reference string)을 추가해 이해하도록 한다.
알고리즘의 특성대로 참조 페이지를 넣어주는 과정을 표로 그린다고 생각하면 된다.
할당된 페이지 프레임 수가 3이기 때문에 주기억장치의 행은 3줄이 되었다.
참조페이지의 한 행마다 큐가 되어 입력되고 (행마다 알고리즘 방법) 아래에서 위로 넣는 방법으로 이해하면 된다.
FIFO는 들어온 순서대로 삭제되는데 제일 먼저 들어온 게 삭제 대상이 되고 이후 들어온 페이지로 채워진다.
넣으려는 페이지가 이미 주기억장치에 있다면 굳이 다시 적재할 필요가 없으니 페이지 부재가 발생하지 않는다.
주기억장치에 새로 해당 페이지를 적게 되면 해당 페이지 값이 페이지 부재가 발생한 것
참조페이지
2
3
2
1
5
2
3
5
주기억장치 (↑ in)
2
2
2
2
3
1
5
5
3
3
3
1
5
2
2
1
5
2
3
3
페이지부재
√
√
ⓐ
√
√ ⓑ
√
√
ⓐ3번째 페이지인 2는 이미 2페이지에 존재하기 때문에 페이지 부재가 발생하지 않아, 주기억장치에 다시 적재 X
ⓑ FIFO 선입선출에 의해 4페이지에 먼저 들어온 2가 삭제되고5페이지 5가 대신 적재되면서 부재가 발생한다.