메모리 매핑 영역이 동작하는 방법

edward·2025년 10월 22일

메모리 매핑이란?

디스크 파일의 내용을 가상 메모리 주소 공간에 직접 연결(mmap) 하는 방식.
즉, 파일의 데이터를 read() 없이 바로 메모리처럼 접근할 수 있게 만드는 기술이에요.


동작 원리

  1. 매핑 설정

    • OS가 파일을 가상 주소 공간의 일부(=가상 페이지 집합) 에 연결만 해둠.
    • 이 시점엔 아직 RAM에 올라가지 않음.
  2. 접근 시 (on-demand load)

    • 프로그램이 해당 주소를 읽으면 페이지 폴트 발생
    • OS가 디스크에서 해당 부분을 읽어 물리 메모리(RAM) 에 올림.
  3. 미사용 시 (swap-out)

    • 오래 사용하지 않거나 메모리 부족 시 OS가 해당 페이지를 다시 디스크로 내림.

관련 개념 정리

용어의미
가상 페이지 집합가상 주소 공간 상의 페이지들 (아직 RAM에 없을 수도 있음)
메모리 매핑 영역mmap으로 파일이 연결되는 가상 메모리 구역 (힙과 스택 사이에 위치)
mmap() 시스템 콜프로그램이 직접 메모리 매핑을 수행할 수 있게 해주는 함수
on-demand paging접근할 때만 디스크에서 페이지를 읽어오는 지연 로드 방식
profile
there ain't no shortcuts

0개의 댓글