bunta의 보조기억장치

[프로그래밍 언어론] 2-2 프로그램 동작 원리 본문

Study/필기

[프로그래밍 언어론] 2-2 프로그램 동작 원리

bunta 2022. 10. 4. 18:59
반응형

컴퓨터 동작 원리

- 전원: 운영체제 적재(저장장치 → 메모리) → 수행

- CPU는 인출 → 해석 → 실행 주기를 반복하여 메모리에 적재된 명령어를 실행


프로그래밍 언어 구현이 필요한 이유

기계어

→ CPU가 이해하고 수행하는 명령어

→ 이진수 형태의 명령어를 사람이 이해하는 것은 매우 난해

 

어셈블리어

→ 기계어에 거의 일대일 대응하는 형태의 기호 언어

→ CPU에 종속적 → 이식성이 거의 없음

     A 회사의 CPU에서 작동하는 명령어가 B 회사의 CPU에서는 작동하지 않음

 

고급 프로그래밍 언어

→ 사람에 가까운 표현으로 프로그램을 나타냄

→ 특정 기계에 종속적이지 않음

→ 프로그램을 CPU가 이해할 수 있는 기계어로 변환해주어야 함

     소스 프로그램을 컴파일러를 통해 목적 프로그램으로 번역해주어야 함

     또는 인터프리터를 통해 소스 프로그램을 한줄씩 변환하여 동작

    * 소스 프로그램: 프로그래머가 작성한 프로그램

    * 목적 프로그램: 컴퓨터 하드웨어가 수행할 수 있는 프로그램


프로그래밍 언어의 구현 방법

인터프리터

→ 프로그래밍 언어로 작성된 고수준의 명령을 하나씩 해석하여 수행하는 프로그램

→ 인터프리터는 CPU의 인출 → 해석 → 실행 주기를 흉내 냄

 

컴파일러

→ 프로그램을 CPU가 수행할 수 있는 형태로 바꾸어서 CPU가 실행

→ 인터프리터가 하는 해석 과정을 미리 모두 수행하여 소스 프로그램을 전부 기계어 코드로 만들어 냄

     실행 시간이 빨라야 하는 프로그램의 경우 인터프리터보다 효율적

→ 상용 프로그램은 컴파일 방식으로 번역한 후 판매

    판매자 측에서는 소스 프로그램을 숨길 수 있는 이점이 있음

 

하이브리드 구현

→ 인터프리터 방식과 컴파일러 방식을 조합한 방식

→ 대표적으로 Java가 있음

→ 중간코드까지 컴파일한 후(기계어에 매우 유사함) 인터프리터(가상기계 [VM])를 통해 해석

 

 

 

한국방송통신대학 [프로그래밍 언어론] 강의 필기입니다.

반응형
Comments