가상 메모리

From IT Wiki
Revision as of 11:34, 5 May 2019 by 정처기정리 (talk | contribs) (새 문서: ;주기억장치의 부족한 물리적 저장공간을 보조기억장치를 이용해서 가상으로 늘려 주는 기술 == 장단점 == * 메모리 크기의 제약으로부터...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
주기억장치의 부족한 물리적 저장공간을 보조기억장치를 이용해서 가상으로 늘려 주는 기술

장단점

  • 메모리 크기의 제약으로부터 자유로워진다.
    • 사용자 프로그램이 물리 메모리보다 커져도 실행 가능
  • 병행성 및 CPU 이용률 증가
    • 사용자 프로그램이 더 작은 메모리를 차지하므로 더 많은 프로그램을 동시에 수행 가능
  • 프로그램 실행 속도 향상
    • 프로그램을 메모리에 올리고 스왑(swap)하는데 필요한 입/출력 횟수가 줄어듬
  • 부가기능 제공

Demand Paging

어떤 알고리즘에 따라서 미리 올려 두는 것이 아니라 실제 사용되려고(demand) 할때 메모리에 올리는 방식
  • 어떤 것을 메모리에 올릴 것인가를 판단하는 기준 중 가장 일반적으로 사용되는 기준
  • 장점
    • Less I/O needed
    • Less memory needed
    • Faster response
    • More users

수행 과정

Virtual memory는 OS적으로 수행. HW/SW 입장에선 투명성을 가짐
  1. 어떤 명령을 수행하기 위해서 필요한 page로 엑세스를 시도한다.
  2. 페이지 엑세스가 불가능하다면(page fault)
    • OS에선 페이지가 존재하지 않는 것인지, 아직 올라오지 않은 것인지 판단한다.
    • 아직 올라오지 않은 것이라면 하드에서 해당되는 페이지를 찾는다.
    • 메모리로 올리고 다시 명령을 수행한다.

페이지 교체