컴퓨터의 구성
1. 컴퓨터가 다루려고 하는 대상
-> 데이터, 정보
1) 데이터(data)
: 관찰이나 측정을 통해 얻은 수치, 문자 형태의 표현할 수 있는 또는 양적 값
2) 정보(information)
: 획득한 데이터를 처리해 실제 문제 해결이 도움이 되도록 변형된 데이터 또는 결과물
현상 > 관찰/측정 > 데이터 > 처리/가공 > 정보
3) 컴퓨터
: 사전에 정의된 절차에 따라 입력 데이터를 자동으로 처리해 정보를 생산하는 기계
2. 컴퓨터의 구성요소
: 하드웨어+소프트웨어
1) 하드웨어: 컴퓨터를 구성하고 있는 물리적 부품(처리장치)
2) 소프트웨어: 다양한 장치들을 동작시켜 특정 작업을 해결하는 프로그램
3) 하드웨어의 물리적 구성
CPU, ODD, RAM, HDD, Video Card
4) 하드웨어의 논리적 구성
- 기계를 바꾸지 않고 소프트웨어 교체만으로 무엇이든 할 수 있게 만든 컴퓨터의 기본 설계
- 역할에 따라 입력, 기억/저장, 제어, 연산, 출력 장치로 구분
* 폰 노이만 구조

5) 소프트웨어의 구조
: 각각의 고유한 기능을 수행하는 하드웨어가 언제 어떻게 동작하여 문제를 해결할 수 있는지 지시하는 명령어 집합
* 응용 소프트웨어: 사용자의 업무나 목적에 맞게 문제 해결을 위한 처리 절차를 표현한 명령어 집합
* 시스템 소프트웨어: 하드웨어를 제어, 관리하여 응용 소프트웨어를 실행할 수 있는 호나경을 제공
ex. 운영체제, 컴파일러, 유틸리티 등
하드웨어의 구성
1. 컴퓨터와 2진법
1) 컴퓨터와 2진법
: 컴퓨터는 트랜지스터를 통해 2진법 숫자로 데이터를 표현해 저장 및 처리
2) 데이터의 기본 단위
- bit(binary digit)
- byte
-> 트랜지스터를 그대로 사용하고 있기 때문에 지금도 2진법을 사용
2. 하드웨어의 구성
1) 기억장치(주기억장치)
- 데이터와 프로그램 및 처리 결과를 임시적으로 기억을 담당하는 컴퓨터 작업 공간
- 저장장치의 순차적 접근과 달리 무작위 순서로 빠른 접근 가능
- ROM: 읽기전용. 전원차단 시 기억내용 보존
- RAM: 읽기/쓰기 모두 가능하며, 전원차단 시 초기와
2) 저장장치(보조기억장치)
- 전원이 소실되어도 저장된 정보가 훼손되지 않는 영구적 기록 장치
- 현대 컴퓨터 장치에서는 HDD가 기본 저장장치
3) 입력장치
: 키보드, 마우스 등
4) 출력장치
: 모니터, 프린터 등
5) 제어/연산 장치
: 명령어와 데이터를 읽고 데이터를 연산 또는 처리하는 장치
- CPU: 레지스터, 연산 논리 유닛(ALU), 제어 유닛(Control Unit)으로 구성
6) 메인보드/마더보드
: 각 컴퓨터 장치를 연결해주는 회로를 갖춘 장치
프로그램의 실행
1. 프로그램의 개념
- 컴퓨터는 자의적으로 데이터를 처리해 정보를 생산하는 것이 불가능
-> 주어진 문제를 풀기 위해 단계적 절차를 명시한 지시서 필요
-> 각 단계별 필요한 하드웨어를 사용해 결과 생성
- 소프트웨어, 응용프로그램, 애플리케이션 등 다양한 용어로 불림
- 유사한 유형의 여러 문제를 추상화한 알고리즘(algorithm)을 구현한 결과물
2. 알고리즘(Algorithm)
1) 알고리즘의 정의
- 문제를 해결하기 위한 단계별 절차를 체계적 명령의 형태로 기술한 것
- 주어진 명령어를 처리하는 컴퓨터에게 문제를 해결하도록 만드는 정형화된 절차
2) 정렬 알고리즘: 우열을 비교할 수 있는 데이터로 일정한 순서대로 정렬 또는 순서화
- 선택정렬 알고리즘
3. 프로그래밍 언어
1) 프로그래밍 언어란?
- 사람과 컴퓨터 사이의 의사소통 도구(인터페이스)
- 프로그래머는 컴퓨터가 이해할 수 있는 언어를 사용해 프로그램을 작성
2) 프로그래밍
- 문제해결을 위한 절차인 '알고리즘'을 '프로그래밍 언어'로 작성하는 과정
3) 프로그래밍 언어의 분류
- 저급언어
- 고급언어
| 저급언어 | 고급언어 | ||
| 1세대 | 2세대 | 3세대 | 4세대 |
| 기계어 | 어셈블리어 | Python, C, Java, Rust | Visual Basic |
| 0과 1 | 명령어 영어 대체 | 자연어와 유사 | 자동화 |
4) 프로그램의 실행
: 고급 언어로 작성된 프로그램은 기계어밖에 인식할 수 없는 컴퓨터에 의해 실행 불가능
-> 컴파일러 또는 인터프리터 사용
* 컴퓨터는 사전에 정의된 절차에 따라 입력된 데이터를 가공, 문제 해결에 유용한 정보로 변환하는 기계
* 컴퓨터는 하드웨어와 소프트웨어로 구성
* 컴퓨터 하드웨어는 역할에 따라 입력, 기억·저장, 제어, 연산, 출력의 5가지 장치로 구분되며, 이를 폰 노이만 구조라고 한다.
* 소프트웨어(프로그램)는 문제를 해결하기 위한 단계별 절차인 알고리즘을 컴퓨터가 이해할 수 있는 명령어로 구현한 결과물
* 컴퓨터는 모든 정보를 비트로 처리하며, 8개의 비트가 모여 문자와 숫자를 표현하는 기본 단위인 바이트가 된다.
* 사람이 사용하는 자연어와 유사한 고급 언어로 작성된 '소스 코드'는 컴파일러나 인터프리터를 통해 컴퓨터가 이해할 수 있는 기계어로 변환되어 실행된다.
'AI > 파이썬' 카테고리의 다른 글
| 파이썬 02 파이썬 시작 (0) | 2026.04.12 |
|---|