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

발행: (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

관련 글

더 보기 »

컴파일러 엔지니어링 실무

번역할 텍스트를 제공해 주시겠어요? 현재는 URL만 확인할 수 없으니, 번역하고 싶은 내용(요약 또는 발췌)을 직접 입력해 주시면 도와드리겠습니다.

Go 서버에서 고성능 SQLite 읽기

워크로드 가정 이 권장 사항은 다음을 전제로 합니다: - 읽기가 쓰기보다 우세하고 쓰기는 드물거나 오프라인 - 단일 서버 프로세스가 데이터베이스를 소유함 - 다중 goroutine…