윈도우즈 시스템 프로그래밍

윈도우즈 시스템 프로그래밍 1장 - 프로그램의 실행과정/하드웨어 구성의 재접근

111-000-111 2021. 7. 18. 20:42

 

 

뇌를 자극하는 윈도우즈 시스템 프로그래밍이라는 책과 해당 책의 저자이신 윤성우님의 강의를 통해 공부한 내용을 정리하는 글입니다.

 

 


 

 

프로그램 실행과정

 

⦁ 전처리기에 의한 치환작업

    ⦁ #으로 시작하는 지시자에 따라서 소스코드를 적절히 변경하는 작업을 한다.

 

⦁ 컴파일러에 의한 번역

    ⦁ 전처리된 코드를 어셈블리어로 번역한다.

 

⦁ 어셈블러에 의한 바이너리 코드 생성

    ⦁ 어셈블리어를 바이너리 코드로 번역한다.

 

⦁ 링커에 의한 연결과 결합

    ⦁ 바이너리 코드와 라이브러리를 결합하여 실행파일을 만든다.

 

 

실행 파일이 생성되는 과정

 

 

Stored Program Concept

 

폰 노이만이 제시한 오늘날 우리가 사용하고 있는 컴퓨터의 기본 모델이다.

프로그램(명령어)은 메모리에 저장되어서 CPU에 의해 Fetch, Decode, Execution 되어야한다.

CPU 내부로 버스 인터페이스를 통해서 명령어가 이동되고, 컨트롤 유닛에 의해서 명령어가 해석되고,  ALU에 의해 연산을 진행한다.

 

 

* 명령어 실행 단계

 

⦁ Fetch

    ⦁ CPU 내부로 명령어 이동

 

⦁ Decode

    ⦁ 명령어 해석

    ⦁ 컨트롤 유닛

 

⦁ Execution

    ⦁ 연산을 진행

    ⦁ 보통은 ALU를 생각

 

 

데이터 이동의 기반이 되는 버스 시스템

 

⦁ 데이터 버스

    ⦁ 데이터를 이동하기 위해 필요한 버스이다. (데이터는 명령어나 피연산자가 될 수 있다.)

 

⦁ 어드레스 버스

    ⦁ 주소값을 이동하기 위해 필요한 버스이다.

 

⦁ 컨트롤 버스

    ⦁ 컨트롤 신호 이동 (CPU와 메모리가 서로 사인을 주고받는 용도)