시스템프로그래밍 2

1-2. 프로그램의 실행과정/하드웨어 구성의 재접근

프로그램 실행과정 [전처리기] => [컴파일러] => [어셈블러] => [링커] 1) 전처리기에 의한 치환작업 - #으로 시작하는 지시자 2) 컴파일러에 의한 번역 - CPU의 명령어로 번역 3) 어셈블러에 의한 바이너리 코드 생성 - CPU의 명령어를 바이너리 코드로 번역 ex) ADD: 0011, MIN: 0010, MUL: 0100, DIV: 0101 4) 링커에 의한 연결과 결합 - 라이브러리와의 결합 - 실행파일을 만듦 Stored Program Concept : 명령어는 메모리에 저장이 되어 CPU에 의해 Fetch->Decode->Execution 되어야 한다. 1) Fetch - CPU 내부로 (버스 인터페이스를 통해) 명령어 이동 2) Decode - 컨트롤 유닛에 의해 명령어 해석 3)..

1-1. 시스템 프로그래밍의 이해와 접근

※ 한빛미디어에서 출간한 "뇌를 자극하는 윈도우즈 시스템 프로그래밍" 서적의 유튜브 강의를 기반으로 작성 시스템 프로그래밍이란? ◇ 시스템(컴퓨터 시스템)의 범위 - 하드웨어 + 운영체제 ◇ 시스템 프로그래밍 - 컴퓨터 시스템을 활용하는 소프트웨어 개발 - Window 운영제체 자체의 기능을 활용하는 프로그래밍 ◇ 응용 소프트웨어 개발과의 차이점 - 시스템 프로그래밍은 모든 응용 프로그램에 포함되는 요소 컴퓨터 시스템의 주요 구성요소 ◇ CPU, 캐쉬 : 컴퓨터 구조(Compute Architecture) ◇ 메인 메모리, 하드디스크 : 운영체제(Operating System) 컴퓨터 하드웨어 구성(전체) ◇ CPU(Central Processing Unit) - 중앙처리장치 - 연산이 이뤄지는 원리 ◇..