본문 바로가기

Study

링커 로더

<링커 / 로더>


링커

  • 언어 번역 프로그램이 생성한 목적 프로그램들과 라이브러리, 다른 실행 프로그램(로드 모듈) 등을 연결해 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어

  • 연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행되는 작업을 링킹(Linking)라고 함



로더
  • 정의 :
    컴퓨터 내부로 정보를 들여오거나, 로드 모듈을 디스크 등의 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어

  • 기능 :
    - 할당(Allocation) :
      실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간을 확보하는 기능
    - 연결(Linking) :
      부프로그램 호출 시 그 부프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능
    - 재배치 :
      디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 가 주소들을 할당된 기억장소의 실제 주소로 배치시키는   기능
    - 적재(Loading) :
      실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능

  • 종류 :
    - Compile And Go 로더 :
      별도의 로더 없이 언어 번역 프로그램이 로더의 기능까지 수행하는 방식
      (할당, 재배치, 적재 작업을 모두 언어 번역 프로그램이 담당)
    - 절대 로더(Absolute Loader) :
      로더의 역할이 축소되어 가장 간단한 프로그램으로 구성되었으며, 목적 프로그램을 기억 장소에 적재시키는
      기능만 수행한는 로더
      (할당 및 연결은 프로그래머가, 재배치는 언어 번역 프로그램이 담당)
    - 직접 연결 로더(Direct Linking Loader) :
      일반적인 기능의 로더, 로더의 기능 4가지를 모두 수행하는 로더
    - 동적 적재 로더(Dynamic Loding Loader) :
      프로그램을 한꺼번에 적재하는 것이 아니라 실행 시 필요한 일부분만 적재하는 로더
      Load-On-Call 로도 불림