데이터와 정보
데이터의 개념
어떤 현상이나 사실에 대한 설명
관찰과 측정을 통해 얻은 수치, 문자 등의 표현 가능한 값
질적 또는 양적 형태로 존재하며, 아직 가공되지 않은 상태의 원재료
정보의 개념
문제 해결에 활용할 수 있도록 정리된 데이터의 집합
관찰과 측정을 통해 얻은 데이터를
정렬, 합산, 군집화 등의 처리 과정을 거쳐 의미를 부여한 결과
정보 처리 과정
데이터는 관찰과 측정을 통해 생성된다
- 관찰: 사물이나 현상을 파악하는 행위
- 측정: 기준에 맞춰 현상을 수치로 표현하는 과정
이후 처리와 가공을 거쳐 정보로 변환
정렬, 계산, 군집화, 표현 방식 변경 등의 과정 포함
컴퓨터의 정의
정의된 방법에 따라 입력된 데이터를 자동으로 처리하고
정보를 생성하는 기계
데이터의 기본 단위
-
비트(bit)
데이터를 표현하는 최소 단위 -
바이트(byte)
8개의 비트로 구성
2⁸ = 256가지 표현 가능
데이터를 처리하는 기본 단위
컴퓨터와 2진법
컴퓨터는 트랜지스터를 기반으로 동작
전기 신호의 on/off 상태를 이용해 2진법으로 데이터 표현
트랜지스터 구조:
- E (Emitter)
- B (Base)
- C (Collector)
모든 데이터는 결국 0과 1의 조합으로 저장 및 처리된다
숫자 데이터의 표현
사람이 사용하는 10진수, 16진수 등의 진법은
변환 과정을 거쳐 2진수 형태로 처리
문자 데이터의 표현
문자는 인코딩 체계를 통해 표현
예: ASCII 코드
숫자와 구분하기 위해 데이터 타입 정보 함께 전달
하드웨어의 구성
사람의 문제 해결 과정
입력 → 기억 → 제어 → 연산 → 출력
폰 노이만 구조
입력 → 기억 → 제어 → 연산 → 출력
처리 방법만 교체하면 다양한 작업 수행 가능
현대 컴퓨터의 기본 설계 구조
기능에 따라 다음과 같이 구분:
- 입력 장치
- 기억 장치
- 제어 장치
- 연산 장치
- 출력 장치
입력 장치
명령과 데이터를 컴퓨터에 전달
사람의 입력을 2진수 형태로 변환
출력 장치
처리 결과를 사람이 인식 가능한 형태로 변환
기억 장치
명령과 데이터를 저장하는 하드웨어
주기억장치와 보조기억장치로 구분
주기억장치
- 접근 속도 빠름
- 제조 단가 높음
- 용량 작음
- RAM: 전원 차단 시 데이터 소실
- ROM: 전원 차단 시 데이터 유지
보조기억장치
- 접근 속도 느림
- 제조 단가 낮음
- 용량 큼
- 전원 차단 시 데이터 유지
제어 장치와 연산 장치
명령어와 데이터를 읽고 처리
CPU 구성 요소:
- 레지스터
- 제어 유닛
- 연산 논리 유닛(ALU)
메인보드
각 장치를 연결하는 회로 기반 장치
보조기억장치의 데이터는 RAM을 거쳐 CPU로 전달
소프트웨어의 실행
프로그램의 이해
컴퓨터는 스스로 처리 방법을 결정하지 못한다
사전에 정의된 절차와 방법을 바탕으로 동작
이를 기술한 것이 프로그램
특정 문제뿐 아니라
유사한 유형의 문제를 해결할 수 있도록 추상화된 단계 구조 포함
알고리즘
문제 해결을 위한 단계별 절차
컴퓨터가 이해할 수 있는 명령 형태로 구성된 정형화된 과정
프로그래밍 언어
사람과 컴퓨터 사이의 의사소통 도구
프로그래머는 프로그래밍 언어를 사용해
컴퓨터가 이해 가능한 형태로 프로그램 작성
세대 구분
- 1세대: 기계어 (0과 1)
- 2세대: 어셈블리어
- 3세대: C, Java, Python, Rust 등
- 4세대: 자동화 중심 언어 (예: Visual Basic)
프로그램의 실행
고급 언어로 작성된 프로그램은
기계어로 변환되어야 실행 가능
변환 방식:
- 컴파일러
- 인터프리터 (한 줄씩 변환)
소프트웨어
하드웨어를 동작시켜 특정 작업을 수행하도록 만드는
명령어와 데이터의 집합
프로그램을 포함한 보다 넓은 개념
시스템 소프트웨어
여러 장치를 유기적으로 연결하고
작업 수행 환경을 제공하는 프로그램