2강 요약: 컴퓨터의 구성
✅ 하드웨어와 소프트웨어
컴퓨터의 구성요소
- 하드웨어: 컴퓨터를 구성하는 물리적 부품
- 소프트웨어: 다양한 장치를 동작시켜 작업을 수행하는 프로그램
하드웨어 - 폰 노이만 구조

🔸 장치 종류
- 입력장치
- 기억·저장장치
- 제어장치
- 연산장치
- 출력장치
소프트웨어 - 응용, 시스템
- 응용 소프트웨어: 사용자의 업무나 목적에 맞게 처리 절차를 표현한 명령어 집합
- 시스템 소프트웨어: 하드웨어를 제어·관리, 응용 소프트웨어 실행 가능한 환경 제공
✅ 하드웨어의 이해
입력장치
- 명령과 데이터를 컴퓨터에 전달하는 장치
- 컴퓨터가 처리할 수 있는 2진수 형태로 변환
ex) 키보드, 마우스, 스캐너, 터치스크린, 마이오(팔찌 형태), 립 모션(동작인식장치)
출력장치
정보 처리 결과를 인간이 인식 가능한 형태로 변환
→ 2진수 형태의 데이터를 문자, 숫자, 도형, 음성, 영상 등의 형태로 변환
ex) 모니터, 스피커, 프린터, HUD(유리창에 정보를 표시), HMD(가상현실 표시)
기억(저장) 장치
- 명령과 데이터를 기억(저장)하는 하드웨어
- 역할에 따라 주기억장치, 보조기억장치로 구분

ex) ROM, RAM, 플로피디스크, 자기디스크, 광학디스크, 플래시 드라이브, SSD
💡 SSD란?
RAM을 이용한 저장장치
- 빠른 속도, 외부 충격에 강함, 전력소모 적음
- 하드디스크 대체재로 각광받는 중
제어와 연산 장치
- 명령어와 데이터를 읽고 데이터를 연산 또는 처리하는 장치
- 현대의 컴퓨터는 제어 장치와 연산 장치 구분❌
🔄 CPU 동작 방식
- 레지스터: 초고속 메모리, 유닛 간 데이터 전달에 도움됨
- 제어 유닛: 데이터를 받고 연산 논리 유닛에게 명령 전달
- 연산 논리 유닛: 처리 결과를 다시 레지스터에게 전달

✅ 소프트웨어의 이해
시스템 소프트웨어
다양한 장치들을 서로 유기적으로 동작시켜 특정 작업을 수행할 수 있는 환경 조성
- 운영체제(커널): 사용자가 컴퓨터를 효율적으로 사용할 수 있도록 하드웨어 제어
- 컴파일러: 소스코드를 컴퓨터가 이해할 수 있도록 기계어로 번역
- 유틸리티: 부가적인 기능을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 지원
운영체제의 역할
응용 소프트웨어가 효과적으로 작동할 수 있는 환경 조성
컴퓨터의 자원(하드웨어)를 효율적으로 관리하고 응용 프로그램에 자원 할당
→ 사용자 인터페이스
→ 프로세스 관리
→ 네트워크 관리
→ 기억장치 관리
→ 입출력장치 관리
1) 사용자 인터페이스
컴퓨터와 사용자를 매개하여 상호작용하는 방법 제공
- CLI(Command Line Interface): 명령어로 상호작용
- GUI(Graphic User Interface): 화면(그래픽)으로 상호작용
2) 프로세스 관리
여러 프로그램 실행이 요청되면 한정된 자원(기억장치 등)을 효과적으로 사용하도록 조율

3) 네트워크 인터페이스
컴퓨터는 네트워크를 통해 상호 데이터 교환
→ 응용 프로그램이 통신할 수 있는 환경 제공 및 통신 장치(하드웨어) 관리
ex) Wi-Fi 관리
4) 기억·저장장치 관리
- 보조기억장치에 저장된 컴퓨터 프로그램은 실행되기 위해서 주기억장치에 적재
- 주기억장치 크기<<보조기억장치 크기 → 효율적 관리 필수
