컴퓨터는 우선 크게 하드웨어(Hardware), 소프트웨어(Software), 펌웨어(Firmware) 3가지로 나눌 수 있다.
아주 간단히 말해서, 컴퓨터 하드웨어는 컴퓨터 시스템이 작동하는 데 필요한 물리적 구성요소이며, 손으로 만질 수 있다.
입력, 연산, 제어, 기억, 출력 등 다섯가지 기능을 구현한다.
구성요소 : 중앙처리장치(CPU), 주기억장치(RAM,ROM), 보조기억장치(HDD,SSD), 입력장치(마우스∙키보드 등), 출력장치(모니터, 스피커 등)
컴퓨터의 '머리' 역할을 한다.
Central Processing Unit을 줄여 CPU 로, '프로세서' 라고도 부른다.
하는 일은 프로그램 실행, 입력∙출력∙저장 장치 제어이며,
따로 데이터를 저장하지 않기 때문에 데이터를 연산하거나 처리하려면, 저장된 데이터를 CPU로 보내줘야한다.
RAM은 CPU의 '개인작업공간' 역할을 한다.
보조기억장치인 HDD와 SSD의 창고가 워낙 크기 때문에 CPU의 속도를 맞추기에는 오래걸린다. 그러면 자연스럽게 컴퓨터의 처리 속도도 느려진다.
컴퓨터의 처리속도를 높이기 위해 보조기억장치로부터 작업에 필요한 데이터뭉치를 한번에 주기억장치로 보내서 CPU는 주기억장치 안에서만 작업을 한다. (전원이 끊기면 내용은 지워진다.)
ROM은 전원이 끊겨도 내용이 보존된다. 그래서 컴퓨터 부팅시 자동으로 수행되는 명령어들을 저장해둔다.
컴퓨터의 '창고' 역할을 한다.
프로그램이나 자료를 영구적으로 기억할 수 있는 기억장치이다.
주기억장치에 비해 내용을 읽는 속도는 느리지만, 대용량으로 기억이 가능하다.
작업이 수행될 때 보조기억장치에서 주 기억장치로 정보를 보낸다.
주로 HDD와 SSD가 대표적이지만, 자기디스크와 광디스크, 플래쉬 메모리로도 나눈다.
사용자가 원하는 문자, 그림, 동영상, 소리 등 원하는 데이터를 컴퓨터로 전달하는 장치이다.
종류로는 마우스, 키보드, 스캐너, 디지타이저, 마이크로폰 등이 있다.
컴퓨터에서 처리한 결과를 빛, 소리, 인쇄 등의 방식으로 출력하는 장치이다.
종류로는 모니터, 스피커, 프린터 등이 있다.
컴퓨터 안에서 운용되는 프로그램, 문서라고 보면된다.
크게 시스템 소프트웨어(System Software)와, 응용 소프트웨어(Application Software)로 구분힌다.
하드웨어를 컨트롤할 수 있는 소프트웨어로, 대표적으로 운영체제(OS)가 있다.
운영체제(Operation System)란 CPU, 메모리, 모니터 등의 하드웨어를 관리해주고, 내 컴퓨터와 다른 컴퓨터들이 서로 연결해서 대화할 수 있도록 도와주는 등 많은 일을 하는 소프트웨어이다.
대표적으로 windows, MacOS, Android, Linux 등이 있다.
시스템 소프트웨어의 종류로는 운영체제(OS), 링커(linker), 로더(loader), 컴파일러(compiler), 어셈블러(assembler), 유틸리티(utility)가 있다.
워드프로세서, 웹브라우저 등 OS위에 사용자가 사용하게 되는 프로그램이나 각종게임 등을 응용 소프트웨어라고 한다. 이를 어플리케이션이라고도 부른다.
하드웨어와 소프트웨어의 특성을 동시에 가지고 있으며, 다른 소프트웨어들보다 우선적으로 하드웨어의 기본적인 동작을 제어할 수 있는 기능을 가지고 있다.
대표적으로 운영체제(OS)가 있다.
예전의 기기들은 펌웨어가 보통 ROM에 저장이 되었는데, ROM은 수정이 불가능한 메모리이기 때문에 한번 펌웨어가 들어가게 되면 수정이 불가능했었다.
요즘은 기능을 업그레이드 해야할 일이 있으면 펌웨어를 수정하여 업데이트 하기 위해 PROM 혹은 Flash에 펌웨어가 저장이 되게 한다.
가장 쉽게 예를들자면, 흔히 펌웨어 업데이트라고 하는 휴대폰 기기안의 운영체제나 컴퓨터의 소프트웨어 업데이트를 생각하면 된다.
소프트웨어가 업데이트 되면 기기의 여러가지 기능이 바뀌고, 디자인이 바뀌기도 한다.