반응형

컴파일러와 인터프리터

   
컴파일러  - 소스 전체를 번역한 후 프로그램 생성
 - 과정이 번거롭고, 번역시간이 걸리지만, 실행 속도가 빠름
 - FORTRAN, COBOL, PASCAL, C, C++, PL/1 등
인터 프리터  - 소스를 한 줄 단위로 번역하고, 번역시 마다 프로그램 실행
 - 시분할 시스템에 유용
 - 프로그램이 직접 실행되므로 목적 프로그램이 없음
 - 번역은 빠르지만, 실행 속도는 느림
 - BASIC, SNOBOL, LISP, APL 등

어셈블리어와 어셈블러

어셈블리어

기계어의 명령기능을 기호로 기계어와 대응시켜 코드화한 기호 언어

어셈블리어의 명령어 형식

  1. Label : 데이터 기억장소, 분기할 위치, 기호 상수 등의 기호(Symbol) 기술 부분
  2. OP : 명령어(OP-code) 기술 부분
  3. Operand : OP-code의 연산 수행을 위한 대상이 되는 Literal(상수, 데이터)나 주소, Register번호 등 기술 부분

어셈블러와 어셈블 과정

어셈블러 : 어셈블리어를 기계어로 된 목적 프로그램으로 번역하는 프로그램

  • 어셈블(Assemble) 과정은 2단계(Pass)로 나누어 수행
  • 두 Pass를 사용하면 기호를 정의하기 전에 사용할 수 있는 프로그램 작업 용이

매크로와 매크로 프로세서

  • 매크로 : 한 프로그램 내 동일한 코드의 반복일 경우, 한 번만 작성하여 정의한 후 정의된 코드를 필요할 때마다 호출
  • 매크로 프로세서 : 원시 프로그램의 매크로 호출 부분에 매크로 프로그램을 삽입하여 확장
  • 매크로 프로세서 처리 과정 :
    매크로 정의 인식 → 매크로 정의 저장 → 매크로 호출 인식 → 매크로 확장과 인수(매개 변수) 치환

링커 / 로더

링커

  • 언어 번역 프로그램이 만든 목적 프로그램들과 라이브러리, 다른 실행 프로그램(로드 모듈) 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어
  • 연결 기능만 수행하는 로더의 한 형태. 링거에 의한 작업을 링킹(Linking)이라 함

로더

   
정의 정보를 내부로 들이거나, 로드 모듈을 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어
기능  - 할당(Allocation) : 프로그램 실행을 위해 기억장치 내 옮겨놓을 공간 확보 기능
 - 연결(Linking) : 부프로그램 호출 시 부프로그램이 할당된 기억장소의 시작주소를 호출 부분에 연결
 - 재배치(Relocation) : 보조기억장치에 저장된 프로그램이 사용하는 주소를 할당된 기억장소의 실제 주소로 배치
 - 적재(Loading) : 실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능
종류  - Compile And Go 로더 : 별도 로더 없이 언어 번역 프로그램이 로더 기능까지 수행
 - 절대 로더(Absolute Loader) : 목적 프로그램을 기억 장소에 적재시키는 기능만 수행하는 로더
 - 직접 연결 로더(Direct Linking Loader) : 일반적 기능의 로더, 로더의 기능 4가지 모두 수행
 - 동적 적재 로더(Dynamic Loding Loader) : 실행 시 필요한 일부분만을 적재하는 로더 (Load-On-Call)

 

반응형

+ Recent posts