본문 바로가기
전공/운영체제

Ch08. 가상 메모리의 기초_01)가상 메모리의 개요

by 임 낭 만 2023. 5. 21.

<쉽게 배우는 운영체제> 교재를 참고하였습니다.

가상 메모리 시스템

가상 메모리 개념

  • 메모리의 크기는 컴퓨터마다 다른데 운영체제가 물리 메모리의 크기에 의존하면 2GB의 메모리에서 동작하는 프로그램은 1GB 메모리에서 동작 하지 않을 수 있음
  • 프로그래머들도 메모리크기에 맞게 응용프로그램을 개발하기는 매우 어려움
  • 현재 메모리 관리의 가장 큰 특징은 물리적 메모리 크기와 프로세스가 올라갈 위치를 신경 쓰지 않고 프로그래밍하도록 지원, 이러한 메모리 시스템을 가상메모리라고 함
  • 가상메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술
  • 가상 메모리를 이용하면 프로세스는 운영체제가 어디에 있는지, 물리 메모리의 크기가 어느 정도인지 신경 쓰지 않고 메모리를 마음대로 사용할 수 있음

가상 메모리 구성

  • 가상메모리 시스템의 모든 프로세스는 실제 메모리와 별개로 자신이 메모리의 어느 위치에 있는지 상관없이 0번지부터 시작하는 연속된 메모리 공간을 가짐
  • 가상메모리는 크게 프로세스가 바라보는 메모리 영역과 메모리 관리자가 바라보는 메모리 영역으로 나뉨
  • 가상메모리의 최대크기는 컴퓨터시스템이 가진 물리메모리의 크기로 한정되며, CPU 비트에 따라 결정됨(32bit CPU, 메모리 최대크기 약 4GB이고, 가상메모리 최대 크기도 약 4GB)
  • 가상 메모리에서 메모리 관리자는 물리 메모리의 부족한 부분을 스왑 영역으로 보충

가상 메모리의 구성

  • 이 경우 가상 메모리 시스템에서는 물리 메모리 내용 중 일부를 스왑 영역으로 옮김

가상 메모리의 크기

가상 메모리의 크기

동적 주소 변환

  • 가상 주소를 실제 메모리의 물리 주소로 변환
  • 동적 주소 변환을 거치면 프로세스가 아무 제약 없이 사용자의 데이터를 물리 메모리에 배치할 수 있음

가상 메모리의 메모리 분할 방식

  • 가변 분할 방식을 이용한 세그먼테이션과 고정 분할 방식을 이용한 페이징 기법이 있음
  • 기본적으로 페이징 기법을 사용하나 페이지 테이블 관리가 어려움
  • 세그먼테이션 기법은 외부 단편화 등의 문제가 있음
  • 가상 메모리 시스템에서는 두 기법의 단점을 보완한 세그먼테이션-페이징 혼용 기법을 주로 사용

가상 메모리와 물리 메모리


매핑 테이블의 필요성과 역할

매핑 테이블의 필요성 (식당 예)

메모리 매핑 테이블

  • 가상 메모리 시스템에서 가상주소는 실제로 물리주소나 스왑 영역 중 한 곳에 위치하며, 메모리 관리자는 가상 주소와 물리 주소를 일대일 매핑 테이블로 관리함
  • 가상주소상의 프로세스 A는 물리메모리 세그먼트 0에 위치하고, 프로세스 B는 세그먼트 1번에 위치하고, 프로세스 D는 스왑 영역에 있음
  • 프로세스 A의 어떤 값이 필요할 때 물리메모리 세그먼트 0에서 원하는 데이터를 가져오면 됨

가상 메모리와 매핑 테이블

댓글