프로그래밍 언어의 문법만 완벽하게 숙지한다면 좋은 개발자가 될 수 있지 않을까?
하지만 컴퓨터의 구조와 운영체제에 대해 알지 못한다면 나사가 빠진 개발자가 될 수 밖에 없다. 컴퓨터의 구조와 운영체제를 알아야 프로그래밍을 근본적으로 이해하고 다양한 문제를 쉽게 해결할 수 있는 능력을 가지게 되기 때문이다.
컴퓨터 구조와 운영체제를 알아야 하는 이유
- 문제 해결 능력이 향상된다.
- 프로그래밍 언어의 문법만으로는 알기 어려운 성능/용량/비용을 고려하여 개발할 수 있다.
- 운영체제의 작동 원리를 이해하여 하드웨어와 프로그램을 더 깊이 이해하고 문제 해결의 실마리를 찾을 수 있다.
컴퓨터의 구조를 간략하게 살펴보면 아래와 같이 나타낼 수 있다.
여기에서 컴퓨터가 이해하는 두 가지 정보 중 데이터는
- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
- 컴퓨터와 주고받는/내부에 저장된 정보를 데이터
- 0과 1로 숫자를 표현하는 방법
- 0과 1로 문자를 표현하는 방법
등을 데이터라고 부를 수 있다.
컴퓨터는 0과 1밖에 이해하지 못하는데 어떻게 숫자, 이미지, 동영상 같은 정보를 이해할 수 있을까?
컴퓨터가 이해하는 두 가지 정보중 명령어는
- 컴퓨터를 실질적으로 움직이는 정보
- 데이터는 명령어를 위한 일종의 재료
라고 이해할 수 있다. ex) "1과 2를 더하라"
컴퓨터의 네 가지 핵심 부품
- CPU (중앙처리장치)
- 메모리 (RAM(하드웨어)) : 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- 보조기억장치
- 입출력장치 (마우스, 키보드, 프린터 등등)
이 네 가지의 부품이 부착되어 모여있는 곳이 마더보드(=메인보드)이다.
메모리
- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다.
- 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다.
- 메모리에 저장된 값의 위치는 주소로 알 수 있다.
CPU
CPU 내부에 있는 대표적인 장치 3가지
- ALU : 계산기
- 레지스터 : CPU 내부의 작은 저장장치
- 제어장치 : 제어 신호(전기신호)를 내보내고, 명령어를 해석하는 장치
메모리에 있는 명령어를 CPU에서 처리한다고 생각하면 된다.
- CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치다.
- CPU 내부에는 ALU, 레지스터, 제어장치가 있다.
* ALU는 계산하는 장치
* 레지스터는 임시 저장 장치
* 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치
보조기억장치
RAM같은 메모리는 비싸고, 전원이 꺼지면 저장된 내용을 잃는다. (=휘발성 저장장치) 그렇기 때문에 전원이 꺼져도 저장될 수 있는 저장 장치가 필요하게 되는데 이것이 보조기억장치이다.
메모리는 실행할 정보를 저장하고, 보조기억장치는 보관할 정보를 저장한다.
'컴퓨터구조와 운영체제' 카테고리의 다른 글
레지스터 (0) | 2024.06.26 |
---|---|
ALU와 제어장치 (0) | 2024.06.25 |
소스 코드와 명령어 (0) | 2024.06.24 |
0과 1로 문자를 표현하는 방법 (0) | 2024.06.21 |
0과 1로 숫자를 표현하는 방법 (0) | 2024.06.20 |