소프트웨어가 컴퓨터에서 실행되는 방법
발행: (2025년 12월 12일 오전 03:49 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
주요 아이디어
컴퓨터는 제한된 수의 단순 명령(기계어)만 실행합니다. 사람이 생산적으로 소프트웨어를 작성할 수 있도록 고수준 언어를 이 제한된 명령 집합으로 변환하는 메커니즘을 사용합니다.
인터프리터
인터프리터는 소스 코드를 읽고 바로 실행하면서 실행 중에 명령을 번역합니다.
핵심 특징
- 실행 속도가 느림(실시간 번역)
- 높은 이식성
- 디버깅이 쉬움
- 바이너리 생성 필요성이 낮음
컴파일러
컴파일러는 실행 전에 소스 코드를 번역하여 하드웨어가 이해할 수 있는 명령만 포함된 바이너리를 생성합니다.
핵심 특징
- 실행 속도가 빠름
- 최적화 수준이 높음
- 대상 아키텍처에 종속적
컴파일 과정
- 렉시컬 분석
- 구문 분석
- 의미 분석
- 최적화
- 코드 생성
인터프리터와 컴파일러의 차이점
- 성능
- 이식성
- 개발 경험
- 프로그래밍 언어 설계
- 시스템 구조(예: JVM, V8, LLVM)
이 메커니즘들은 언어가 “under the hood”에서 어떻게 동작하는지를 이해하는 기반이 됩니다.
참고 문헌
- Structured Computer Organization, Andrew Tanenbaum.