[운영체제] 가상 메모리

변지현·2021년 2월 1일
0

운영체제

목록 보기
5/5

가상 메모리

 프로세스 전체가 메모리에 올라와있다고 가정하고 프로세스를 실행하는 것. 가상메모리를 사용하기 전에는 실행하는 프로세스의 전체 모두 메모리에 로드되어야 실행시킬 수 있었다. 따라서 총 메모리의 크기보다 큰 프로세스는 실행이 불가능하였다. 하지만 가상 메모리를 사용하면 프로세스에서 현재 필요한 부분만 로드하여 실행하기 때문에 프로세스의 크기와 상관없이 실행이 가능하다. 또한 필요없는 부분은 로드하지 않기 때문에 메모리 사용의 효율이 높아진다.

  • 가상 메모리는 프로세스들의 중복된 부분을 프로세스들끼리 공유할 수 있도록 한다.
  • 가상 메모리는 대게 page로 관리된다.

요구 페이징(Demand Paging)

 현재 필요한 페이지만 메모리에 로드하는 것이다. 사용하지 않을 페이지를 가져오지 않는 시간낭비와 메모리 낭비를 줄일 수 있다.

페이지 교체

  1. 디스크에서 필요한 페이지의 위치를 찾는다.
  2. 필요한 페이지를 디스크에 찾는다.
  3. 페이지 테이블에서 victim(교체 당할 페이지)를 찾는다.
  4. Victim을 디스크에 저장하고, 페이지 테이블을 수정한다.
  5. Victim의 자리에 새로운 page를 불러오고 페이지 테이블을 수정한다.

페이지 교체 알고리즘

FIFO

  • 선입선출 구조
  • 프레임 수를 늘려도 page fault가 줄지 않는 상황이 생길 수 있다.
  • 단순히 FIFO 구조이기 때문에 바로 다음에 사용할 페이지를 victim으로 지정할 수도 있기 때문이다.

Optimal

  • Page fault를 최소화 하는 교체 알고리즘
  • 결과론적인 방법이기 때문에 구현할 수 없으며, 페이지 교체 알고리즘의 성능을 비교할 때 사용된다.

LRU

  • Least Recently Used
  • 가장 오랫동안 사용되지 않은 페이지를 교체한다.

LFU

  • Least Frequently Used
  • 사용된 횟수가 가장 적은 페이지를 교체한다.
  • Victim 후보가 여러 개인 경우 LRU 기법을 적용하여 victim을 선정한다.
  • 최근에 적재된 페이지는 victim될 가능성이 높다.

캐시의 지역성

 캐시의 hit ratio를 높이기 위해 사용되는 개념이다. 캐시의 지역성은 저장장치의 데이터를 균일하게 접근하는 것이 아닌 상황에 따라 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성을 말한다.
 캐시의 지역성은 크게 시간적 지역성, 공간적 지역성으로 나뉜다.

  • 시간적 지역성 : 최근에 참조된 주소의 내용은 곧 다음에 다시 참조되는 특성
  • 공간적 지역성 : 참조된 주소와 인접한 주소의 내용이 다시 참조되는 특성
profile
23살 개발자 변지점프의 더 나은 사람 되기 프로젝트

0개의 댓글