메모리 바인딩

신명철·2022년 2월 7일
0

OS

목록 보기
13/27

메모리 바인딩

프로그램은 원래 이진 파일의 형태로 디스크에 저장되어 있다. 프로그램은 로더(Loader)에 의해 메모리에 적재되어야 한다. 메모리 적재, 즉 메모리 바인딩에 대해서 알아보자.

메모리 바인딩은 바인딩이 이루어지는 시점에 따라서 구분된다.

Compile Time Binding

  • 프로세스가 메모리 내에 들어갈 위치를 컴파일 시간에 알 수 있다면 컴파일 타임에 적재된다. static 변수가 이에 해당한다.

Load Time Binding

  • 컴파일 시점에 메모리의 어디에 바인딩될 지 알지 못한다면 로드 타임에 메모리에 적재된다. 이 경우 일단 컴파일러는 이진 코드를 재배치 가능 코드로 만든다. 심볼과 진짜 번지수와의 바인딩은 프로그램이 메인 메모리로 적재되는 시간에 이루어진다.

Execution Time Binding

  • 프로세스가 실행하는 도중 메모리 내의 한 세그먼트로부터 다른 세그먼트로 옮겨질 수 있다면 바인딩이 실행시간까지 허용되었다고 표현한다. 페이징이나 세그멘테이션과 같은 방법을 통해 이루어진다.
profile
내 머릿속 지우개

0개의 댓글