컴퓨터는 하드웨어와 소프트웨어로 나눠진다.
하드웨어는 컴퓨터를 구성하는 기계적 장치들의 집합을 말한다.
소프트웨어란 물리적인 형태가 존재하지 않는 컴퓨터의 구성 요소로서, 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합을 말한다.
시스템 소프트웨어 (System Software)
응용 소프트웨어 (Application Software)
중앙처리장치 (Central Processing Unit, CPU)
기억장치 (Memory Device)
입력장치 (Input Device)
출력장치 (Output Device)
우선 소프트웨어를 보면, 시스템 소프트웨어란 응용 소프트웨어의 실행 환경이며 하드웨어와 직접적으로 소통하며 하드웨어 장치들이 제대로 동작할 수 있도록 해준다.
응용소프트웨어는 시스템 소프트웨어를 제외한 모든 소프트웨어로, 종류는 사무용, 교육용, 멀티미디어, 통신용, 게임 등 매우 다양하다.
하드웨어에서 CPU는 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어하는 컴퓨터의 핵심 장치로, 프로세서라고도 한다.
제어장치 : CPU의 모든 동작과 데이터 흐름을 통제하고 관리, 운영체제와 소통하며 컴퓨터의 자원을 관리
연산장치 : 프로그램 명령어를 수행, 코드를 실질적으로 실행시키는 장치
레지스터 : CPU 내에 존재하는 작고 빠른 기억장치, 연산장치의 동작에 필요한 데이터들을 임시적으로 보관하며 제공
하드웨어의 기억장치는 CPU의 동작에 필요한 데이터들을 장기적으로 또는 단기적으로 보관하는 저장장치로, 기간에 따라 주기억장치와 보조기억장치로 나뉜다.
주기억장치 : 컴퓨터가 프로그램을 수행하는 동안 필요한 모든 데이터들을 저장,
데이터를 읽고 쓰는 속도가 빠름, ex)RAM, ROM
보조기억장치 : 컴퓨터에게 필요한 모든 정보를 반영구적으로 저장,
큰 용량의 데이터를 저장, 데이터를 읽고 쓰는 속도가 느림 ex)SSD, HDD
캐시메모리 : 한 번 CPU가 사용한 데이터와 관련된 데이터 중, 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시켜놓는 역할
입력장치는 사용자로부터 컴퓨터 내부로 데이터를 입력 받는 장치로 키보드, 마우스가 있다.
출력장치는 컴퓨터 내부로부터 사용자에게 사람이 감각할 수 있는 형태로 데이터를 출력해주는 장치로, 모니터, 스피커가 있다.
시스템 버스란 하드웨어 구성 요소를 물리적으로 연결하는 선으로, 데이터 버스, 주소 버스, 제어 버스로 나눠진다.
참고 : 코드스테이츠 백엔드 부트캠프 44기 강의자료