실행 파일이 가상 메모리 공간을 형성하는 과정

edward·2025년 10월 22일

실행 파일이 뭔데?

  • 컴파일 + 링크 결과물로 만들어진 하나의 파일이에요.
  • 디스크(SSD/HDD) 위에만 존재하고, 아직 “실행 중”은 아닙니다.
  • 안에는 코드(.text), 데이터(.data), 전역 변수(.bss) 등이 들어 있어요.

👉 즉, “프로그램의 설계도” 같은 존재예요.


이 파일을 실행하면 어떤 동작이 일어날까?

  1. 운영체제(OS) 가 새로운 프로세스(process) 를 만듭니다.
  2. 그 프로세스에 독립된 가상 메모리 공간을 만들어줘요.
  3. 실행 파일의 각 부분을 이 가상 공간에 매핑(mapping) 합니다.

이때 아직 메모리에 다 올라간 건 아닙니다❗️
(이건 "가상의 주소만 연결해둔 상태"예요.)


그럼 언제 메모리에 올라갈까?

프로그램이 실행되면서 CPU가 어떤 코드나 데이터를 처음 사용할 때,
그 부분만 디스크에서 RAM으로 조금씩 불러옵니다.

이걸 “온디맨드(on-demand) 로딩” 또는 “페이지 단위 캐싱”이라고 합니다.

profile
there ain't no shortcuts

0개의 댓글