기출문제/정보처리기사
2018년 2회 정보처리기사 기출문제 54번
엉클지니
2025. 5. 31. 13:57
54. 시스템 소프트웨어와 그 기능에 대한 설명으로 가장 옳지 않은 것은?
① 로더 : 실행 가능한 프로그램을 기억 장치로 적재
❷ 링커 : 사용자 프로그램 소스코드와 I/O 루틴과의 결합
③ 언어 번역기 : 고급언어로 작성된 사용자 프로그램을 기계어로 번역
④ 디버거 : 실행시간 오류가 발생할 경우 기계상태 검사 및 수정
300x250
좋은 질문입니다! 이 문제는 정보처리기사 시험에서 자주 출제되는 시스템 소프트웨어의 역할과 기능에 대한 개념을 묻는 문제입니다.
학생들이 개념을 더 쉽게 이해할 수 있도록, 핵심 개념 요약 표와 함께 문항별 해설을 드리겠습니다.
❓ 문제
다음 중 시스템 소프트웨어와 그 기능에 대한 설명으로 가장 옳지 않은 것은?
번호 보기 요약
① | 로더: 실행 가능한 프로그램을 기억 장치로 적재 | ✅ 옳음 |
② | 링커: 사용자 프로그램 소스코드와 I/O 루틴과의 결합 | ❌ 틀림 |
③ | 언어 번역기: 고급언어로 작성된 사용자 프로그램을 기계어로 번역 | ✅ 옳음 |
④ | 디버거: 실행 시간 오류가 발생할 경우 기계 상태 검사 및 수정 | ✅ 옳음 |
🧠 시스템 소프트웨어란?
운영체제를 포함하여, 사용자의 프로그램 실행을 도와주는 각종 도구 및 프로그램을 의미합니다. 대표적으로 로더, 링커, 컴파일러(언어 번역기), 디버거 등이 있습니다.
✅ 보기별 상세 해설
보기 번호 해설 옳고 그름
① 로더 | 로더(Loader)는 컴파일과 링크 과정을 거쳐 생성된 실행 파일을 **기억장치(주기억장치)**에 올려 실행 준비를 하는 프로그램입니다. | ✅ 옳음 |
② 링커 | 링커(Linker)는 오브젝트 파일(.obj 또는 .o) 들을 결합(link) 하여 하나의 실행 파일(exe) 을 만듭니다. 그러나 소스코드와 I/O 루틴을 직접 결합하지는 않습니다. 소스코드는 컴파일러가 처리합니다. 이 설명은 컴파일러의 역할과 혼동하고 있어 틀렸습니다. | ❌ 틀림 |
③ 언어 번역기 | 고급언어(C, Java 등) → 저급언어(기계어, 어셈블리어)로 번역해주는 도구로, 컴파일러, 인터프리터, 어셈블러 등이 포함됩니다. 정확한 설명입니다. | ✅ 옳음 |
④ 디버거 | 디버거(Debugger)는 실행 도중 오류를 추적하고 상태를 분석할 수 있는 도구로, 변수 값 확인, 브레이크포인트 설정, 기계 상태 변경 등 기능을 수행합니다. | ✅ 옳음 |
✅ 핵심 요약 표: 시스템 소프트웨어와 기능
소프트웨어 주요 기능
로더 (Loader) | 실행 파일을 메모리에 적재하여 실행 준비 |
링커 (Linker) | 여러 오브젝트 파일(.obj)들을 연결하여 하나의 실행 파일 생성 |
컴파일러 (Compiler) | 소스코드를 기계어로 번역 (고급 → 저급) |
디버거 (Debugger) | 실행 중 오류를 찾아내고, 기계 상태 점검 및 수정 |
어셈블러 (Assembler) | 어셈블리어 → 기계어로 번역 |
인터프리터 (Interpreter) | 소스코드를 한 줄씩 번역하며 실행 |
✅ 정답
② 링커: 사용자 프로그램 소스코드와 I/O 루틴과의 결합
❗ 틀린 설명입니다 – 링커는 오브젝트 파일끼리 결합하며, 소스코드 수준에서는 작동하지 않습니다.
🔍 요약
- 이 문제는 링커와 컴파일러의 기능을 혼동하면 틀리기 쉬운 문제입니다.
- 학생들에게는 "링커는 기계어 수준에서 일하는 소프트웨어다"라고 비유하면 이해가 쉬워요.
- 반대로 "소스코드와 관련된 작업은 컴파일러의 몫이다"라고 설명해주면 됩니다.
궁금한 용어나 예제 코드가 필요하면 언제든지 알려주세요!