소프트웨어가 컴퓨터에서 실행되는 방법

발행: (2025년 12월 12일 오전 03:49 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

주요 아이디어

컴퓨터는 제한된 수의 단순 명령(기계어)만 실행합니다. 사람이 생산적으로 소프트웨어를 작성할 수 있도록 고수준 언어를 이 제한된 명령 집합으로 변환하는 메커니즘을 사용합니다.

인터프리터

인터프리터는 소스 코드를 읽고 바로 실행하면서 실행 중에 명령을 번역합니다.

핵심 특징

  • 실행 속도가 느림(실시간 번역)
  • 높은 이식성
  • 디버깅이 쉬움
  • 바이너리 생성 필요성이 낮음

컴파일러

컴파일러는 실행 전에 소스 코드를 번역하여 하드웨어가 이해할 수 있는 명령만 포함된 바이너리를 생성합니다.

핵심 특징

  • 실행 속도가 빠름
  • 최적화 수준이 높음
  • 대상 아키텍처에 종속적

컴파일 과정

  1. 렉시컬 분석
  2. 구문 분석
  3. 의미 분석
  4. 최적화
  5. 코드 생성

인터프리터와 컴파일러의 차이점

  • 성능
  • 이식성
  • 개발 경험
  • 프로그래밍 언어 설계
  • 시스템 구조(예: JVM, V8, LLVM)

이 메커니즘들은 언어가 “under the hood”에서 어떻게 동작하는지를 이해하는 기반이 됩니다.

참고 문헌

  • Structured Computer Organization, Andrew Tanenbaum.
Back to Blog

관련 글

더 보기 »