* 시스템 프로그래밍(System Programming)
컴퓨터 시스템을 동작시키는 프로그램
* 컴퓨터 시스템의 주요 구성요소(Main Components)
컴퓨터 구조 - CPU, 캐쉬
운영체제 - 메인 메모리, 하드디스크
* 컴퓨터 하드웨어의 구성
1. CPU
연산을 담당
① ALU(Arithmetic Logic Unit)
② 컨트롤 유닛(Control Unit) - 명령어 해석
③ 레지스터들(Registers Set)
④ 버스 인터페이스(Bus Interface)
⑤ 클럭 신호(Clock Pluse) - 클럭 신호에 맞춰 CPU 일함
2. 메인 메모리(Main Memory)
컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역
3. 입출력 버스(Input/Output Bus)
컴퓨터를 구성하는 구성요소 사이에서 데이터를 주고 받기 위해 사용되는 경로
어드레스 버스, 데이터 버스, 컨트롤 버스
* 폰 노이만의 프로그램 내장 방식(Stored Program Concept)
프로그램이라는 것이 존재하고, 이 프로그램은 컴퓨터 내부에 저장되어 순차적으로 실행되어야 한다
* 프로그램 실행 방법
전처리기 -> 컴파일러 -> 어셈블러 -> 링커
ㄴ 링커 : 프로그램 내에서 참조하는 하마수나 라이브러리들을 하나로 묶는(혹은 연결시켜 주는) 작업
* 전처리기 -> 컴파일러 -> 어셈블러 -> 링커 -> 실행파일 -> 로드 -> Fetch -> Decode -> Execution
(1) Fetch : 메모리상 명령어를 CPU로 가져옴
(2) Decode : CPU가 명령어 해석
(3) Execution : 해석된 명령어 실행
* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다
'IT공부 > IT서적' 카테고리의 다른 글
[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 3장. 64비트 기반 프로그래밍 (0) | 2024.12.21 |
---|---|
[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 2장. 아스키코드 vs 유니코드 (0) | 2024.12.21 |
[윤성우 열혈 C++프로그래밍] Part4. 객체지향의 완성 - 2 (0) | 2024.09.24 |
[윤성우 열혈 C++프로그래밍] Part4. 객체지향의 완성 - 1 (0) | 2024.09.21 |
[윤성우 열혈 C++프로그래밍] Part3. 객체지향의 전개 (0) | 2024.09.14 |