프로그램 실행 과정(C언어 기준)

image.png

컴파일 과정

  1. 소스 파일

  2. 컴파일

    컴파일 과정
    ----------
    1. 전처리(Preprocessing)
    - #include, #define 등 처리 -> 아직 고급 언어 수준
    2. 컴파일(Compilation)
    - C/Python 등 고급 언어 -> 어셈블리어 변환 - ISA에 맞는 어셈블리 생성
    3. 어셈블(Assembling)
    - 어셈블리어 -> 기계어(Object file) - ISA 기반 기계 명령 생성
    4. 링크
    - 여러 오브젝트 파일 -> 실행 파일로 합침 - ISA 기반 바이너리 완성
    =>
    * 이러한 과정으로 2, 3단계에서 ISA(Instruction Set Architecture)가 실제로 반영되어 CPU 아키텍처 정보를 바탕으로 명령을 지원하여 서로 다른 CPU 아키텍처면 프로그램 동작을 못하는 문제가 발생
    	- 해결 방법은 다양
    
  3. 실행 파일

프로세스 실행 과정

  1. 적재
  2. 메모리 할당
  3. PCB 생성
  4. 실행