FIFO 페이지 교체 알고리즘
시간상 메모리에 가장 먼저 들어온 페이지를 스왑 영역으로 내쫓는 알고리즘.
큐로 구현하며 알고리즘이 가장 간단하다.(그저 가장 오래된 페이지를 내쫓으면 되니까..)
페이지 부재가 가장 많이 발생한다고 한다.
최적 페이지 교체 알고리즘
앞으로 사용하지 않을 페이지를 스왑 영역으로 옮기는 알고리즘. 가장 멀리 있는 대상 페이지로 교체한다.
하지만 미래에 어떤 페이지를 교체할지 모른다는 점에서 실현 불가능함.
LRU 교체 알고리즘
사용한지 가장 오래동안 사용하지 않았던 페이지를 대상으로 교체한다,
각 페이지마다 시간기억영역을 따로 두어 사용한다.
LFU 페이지 교체 알고리즘
최소 빈도 사용 알고리즘으로, 페이지가 몇번 이용되었느냐에따라 대상 페이지를 선택한다.
즉 사용 횟수가 가장 적은 페이지를 스왑 영역으로 옮기는 알고리즘이다.
NUR 페이지 교체 알고리즘
참조 비트와 변형 비트를 사용하여 교체할 대상 페이지를 정하는 알고리즘.
참조비트는 페이지에 접근하면 1이 되고, 변형비트는 페이지가 변경되면 1이 된다.
참조비트 | 변형비트 |
0 | 0 |
0 | 1 |
1 | 0 |
1 | 1 |
1행 2행 3행 4행 순으로 페이지 교체 우선순위가 결정된다.
2차 기회 페이지 교체 알고리즘(FIFO + LRU)
가장 오래된 페이지가 최근에 사용할 가능성이 높을 것이라는 가정 하에 가장 오래된 페이지는
교체 대상에서 제외하고 사용한 것으로 간주하는 알고리즘. 각 페이지의 프레임을 FIFO 순으로 유지시키며
LRU처럼 참조 변수를 갖게 한다.
운영체제 과목은 현재 시중에 판매하는 전공서적으로 학습중이지만
페이지 알고리즘 같은 경우 책으로만 이해하기에는 좀 힘들어서
유튜브 강좌를 참고했다.
이 교수님이 머리 속에 개념이 콕콕 박히게 잘 설명해주신다.
728x90
반응형