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
반응형