IT개발/Tech Notes

링커(Linker)와 로더(Loader)의 차이점 완전 정리! | 정보처리기사 기출 대비

시간기억자 2025. 5. 8. 10:52
반응형

개발자나 수험생이라면 한 번쯤은 들어봤을 링커(Linker)로더(Loader).
둘 다 프로그램을 실행하기 전 단계를 담당하는 요소지만, 역할은 완전히 다르다.


🔍 링커(Linker)란?

링커는 여러 개의 오브젝트 파일(.obj, .o 등)을 하나의 실행 파일(.exe, .out 등)로 만들어주는 도구다.
여기에는 함수나 변수의 참조를 실제 위치로 연결하는 작업이 포함된다.

  • 예를 들어, A 파일에서 B 함수가 호출되었는데, 이 함수가 다른 파일에 있다면
    링커가 해당 함수의 주소를 찾아 연결해준다.

✔️ 역할 요약

  • 오브젝트 파일 연결
  • 심볼 결합 (함수, 변수 주소 할당)
  • 실행 파일 생성

🔍 로더(Loader)란?

로더는 링커가 만든 실행 파일을 메모리에 올려주는 역할을 한다.
즉, 실제 프로그램 실행 준비를 담당하는 운영체제의 구성 요소다.

  • 실행 파일이 하드디스크에 있다면, 로더가 이걸 메모리에 올려서 CPU가 읽고 실행할 수 있게 한다.

✔️ 역할 요약

  • 실행 파일을 메모리에 적재
  • 시작 주소 지정
  • 초기화 및 실행 환경 구성

🔄 링커 vs 로더 비교표

항목 링커 (Linker) 로더 (Loader)
역할 실행 파일 생성 실행 파일을 메모리에 올려 실행
동작 위치 컴파일 후 실행 시점
결과물 실행 파일 메모리 적재
사용 주체 개발 도구 운영체제(OS)
예시 gcc main.c -o main ./main (실행 시 로더가 작동)
 

💡 비유로 이해해보기

  • 링커는 '음식 재료를 다듬고 요리해서 도시락을 싸는 역할'
  • 로더는 '그 도시락을 꺼내서 전자레인지에 데우고 먹을 수 있게 준비하는 역할'

🎯 정보처리기사 기출에서의 포인트

  • 링커는 실행 파일 생성
  • 로더는 메모리 적재
  • 각각 언제 작동하는지, 어떤 역할을 하는지 정확히 기억해야 함

✅ 자주 나오는 문제 유형

  • 링커가 하는 일로 옳지 않은 것
  • 로더의 역할에 해당하는 것은?
  • 링커와 로더의 차이를 바르게 설명한 것은?

📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇

http://www.youtube.com/@itbite_daily

 

오늘의 IT한입

👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일

www.youtube.com

 

반응형