가상 메모리(Virtual Memory)

2경빈·2025년 5월 4일

CS

목록 보기
10/11

가상 메모리(Virtual Memory)

가상 메모리는 실제 물리 메모리(RAM)의 용량을 넘어서 프로그램이 더 많은 메모리를 사용하는 것처럼 보이도록 해주는 운영체제의 메모리 관리 기법이다.


가상 메모리란?

가상 메모리는 물리적인 메모리를 추상화하여, 각 프로세스가 독립된 메모리 공간을 갖는 것처럼 작동하게 하는 개념이다. 실제 메모리 주소가 아닌 **가상 주소(Virtual Address)**를 사용하고, 운영체제가 이를 **물리 주소(Physical Address)**로 매핑해준다.


가상 메모리의 주요 목적

  1. 메모리 보호
    각 프로세스는 자신만의 가상 메모리 공간을 가지므로, 다른 프로세스의 메모리에 접근할 수 없다.
  1. 프로세스 간 독립성 보장
    프로그램이 서로 간섭하지 않고 안정적으로 실행될 수 있다.
  1. 큰 프로그램 실행 가능
    실제 메모리보다 큰 프로그램도 실행 가능하다. 일부는 디스크에 저장해 두었다가 필요할 때 메모리에 적재한다.
  1. 메모리 효율성 향상
    자주 사용하지 않는 부분은 물리 메모리에 올리지 않기 때문에 RAM을 효율적으로 사용할 수 있다.

동작 방식

가상 메모리는 **페이징(Paging)**이라는 기법을 통해 관리된다.

  • 가상 메모리는 **페이지(Page)**라는 작은 단위로 나뉘고,
  • 물리 메모리는 **프레임(Frame)**이라는 동일 크기의 단위로 나뉜다.
  • **페이지 테이블(Page Table)**은 가상 페이지가 어떤 물리 프레임에 매핑되는지를 기록한다.

페이지 부재(Page Fault)

필요한 페이지가 메모리에 없을 경우 디스크에서 불러오는데, 이를 페이지 부재라고 하며 이때 성능 저하가 발생한다.


요약

항목설명
목적큰 프로그램 실행, 보호, 효율성
주요 기법페이징(Paging)
장점독립성, 보안, 메모리 확장성
단점페이지 부재 발생 시 속도 저하
관련 구성 요소페이지, 프레임, 페이지 테이블, TLB(변환 조회 버퍼) 등

profile
eggs before hatching

0개의 댓글