프로세스 전체가 메모리에 올라와있다고 가정하고 프로세스를 실행하는 것. 가상메모리를 사용하기 전에는 실행하는 프로세스의 전체 모두 메모리에 로드되어야 실행시킬 수 있었다. 따라서 총 메모리의 크기보다 큰 프로세스는 실행이 불가능하였다. 하지만 가상 메모리를 사용하면 프로세스에서 현재 필요한 부분만 로드하여 실행하기 때문에 프로세스의 크기와 상관없이 실행이 가능하다. 또한 필요없는 부분은 로드하지 않기 때문에 메모리 사용의 효율이 높아진다.
- 가상 메모리는 프로세스들의 중복된 부분을 프로세스들끼리 공유할 수 있도록 한다.
- 가상 메모리는 대게 page로 관리된다.
현재 필요한 페이지만 메모리에 로드하는 것이다. 사용하지 않을 페이지를 가져오지 않는 시간낭비와 메모리 낭비를 줄일 수 있다.
- 디스크에서 필요한 페이지의 위치를 찾는다.
- 필요한 페이지를 디스크에 찾는다.
- 페이지 테이블에서
victim
(교체 당할 페이지)를 찾는다.Victim
을 디스크에 저장하고, 페이지 테이블을 수정한다.Victim
의 자리에 새로운page
를 불러오고 페이지 테이블을 수정한다.
- 선입선출 구조
- 프레임 수를 늘려도
page fault
가 줄지 않는 상황이 생길 수 있다.- 단순히 FIFO 구조이기 때문에 바로 다음에 사용할 페이지를
victim
으로 지정할 수도 있기 때문이다.
Page fault
를 최소화 하는 교체 알고리즘- 결과론적인 방법이기 때문에 구현할 수 없으며, 페이지 교체 알고리즘의 성능을 비교할 때 사용된다.
- Least Recently Used
- 가장 오랫동안 사용되지 않은 페이지를 교체한다.
- Least Frequently Used
- 사용된 횟수가 가장 적은 페이지를 교체한다.
- Victim 후보가 여러 개인 경우 LRU 기법을 적용하여 victim을 선정한다.
- 최근에 적재된 페이지는 victim될 가능성이 높다.
캐시의 hit ratio
를 높이기 위해 사용되는 개념이다. 캐시의 지역성은 저장장치의 데이터를 균일하게 접근하는 것이 아닌 상황에 따라 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성을 말한다.
캐시의 지역성은 크게 시간적 지역성, 공간적 지역성으로 나뉜다.
- 시간적 지역성 : 최근에 참조된 주소의 내용은 곧 다음에 다시 참조되는 특성
- 공간적 지역성 : 참조된 주소와 인접한 주소의 내용이 다시 참조되는 특성