프로그래밍/운영체제
페이지 교체 알고리즘
2jun0
2022. 10. 21. 01:44
이번 글은 페이지가 무엇인지와 페이지를 교체하는 방법론을 설명한다.
💡 가상 메모리
컴퓨터의 메모리는 한정되어 있다. 그럼에도 불구하고 큰 데이터를 적재하거나 여러개의 데이터를 적재하고 싶을때가 있다.
그래서 사용하는 방식은 디스크를 메모리 처럼 사용하는 가상메모리기법이다.
가상메모리를 사용함으로서 실제로 메모리에 접근할땐 가상주소로 접근한다.
MMU에서 가상주소를 관리해준다.
가상주소는 디스크를 포함하기 때문에, 요청한 페이지가 실제로 메모리에 없을 수도 있다. (디스크에 있음)
MMU는 이럴때 메모리에 있는 어떠한 페이지를 내리고 디스크에 있는 페이지를 메모리에 적재하는 역할을 한다. (SWAP한다는 의미)
아래는 그 방식에 대해 나열하고 소개한다.
📌 페이지 교체 알고리즘
운영체제에서 원하는 페이지가 있다면 hit, 없다면 fault 라고 한다.
페이지 교체는 적을 수록 좋다. 아래 알고리즘을 보며 어떤 게 가장 좋을지 생각해 보자.
FIFO(first in first out) : 가장 오래된 페이지를 교체한다.
LRU(Least Recently Used) : 참조 횟수가 가장 적은 페이지를 교체한다.
LFU(Least Frequently Used) : 가장 오랫동안 사용되지 않은 페이지를 교체한다.
OPT : 앞으로 사용가능성이 적은 페이지를 교체한다. (가장 이상적인 것으로 예언가가 아니면 불가능할듯 ^^)
본인은 그림을 준비하지 않았다. 아래 블로그에 정말 자세하게 나와있으니 꼭 보자.
https://zangzangs.tistory.com/143