Central Processing Unit(CPU, 중앙처리장치)으로 컴퓨터에 장착되어있는 모든 장치의 동작을 제어하는 역할을 한다.
Graphics Processing Unit(GPU, 그래픽 처리장치)으로 연산 장치(ALU)의 구조가 단순하고, 다수의 코어로 이루어져 있다. 이러한 구조적인 특징으로 인해, 여러 개의 코어를 동시에 병렬로 작동시켜 부동 소수점 연산 등 특정 단순 계산을 빠르게 할 수 있다.
메모리는 데이터를 일시적(휘발성)으로, 또는 영구히 보존(비휘발성)하는 장치를 말한다. 크게 주 메모리와 보조 메모리로 나뉘며 주메모리에는 RAM(Random Access Memory)과 ROM(Read Only Memory)이 있다.
보조 메모리에는 하드 디스크 드라이브(HHD), 솔리드 스테이트 드라이브(SSD), CD, 블루레이 그리고 플래시 메모리 등이 있다.
특징별로 다음과 같이 나눌 수 있다.
메모리 | 휘발성 | 비휘발성 |
---|---|---|
주 기억장치 | RAM | ROM |
보조 기억장치 | - | 보조 기억장치 전반 |
휘발성 메모리로 보조 기억장치(HDD, SSD 등)에서 데이터를 읽어와 CPU와 통신한다. 어느 위치에 저장된 데이터든지 접근(읽기 및 쓰기)하는 데 같은 시간이 걸리는 메모리이기에 Random
이란 명칭이 붙었다.
비휘발성 메모리 주 기억장치로 컴퓨터를 구동하기 위한 기본적인 정보가 담겨있다. 최근에는 플래시 메모리 등 다른 하드웨어로 대체되고 있다.
보조 기억 장치는 비휘발성 주 기억장치를 확장한 것으로, 속도가 느리지만 보통 용량이 상대적으로 크다.
입력장치는 사용자의 행동(액션)을 컴퓨터가 인식할 수 있는 형태로 변환시켜주는 장치로 키보드, 마우스 등이 있고 출력장치는 컴퓨터에서 처리된 내용을 사용자가 인식할 수 있는 형태로 바꾸어주는 역할을 하는 모니터, 프린터, 스피커 등이 있다.
위 구성 요소 간 데이터 전송 역할을 하는 장치로 데이터 버스, 주소버스, 제어버스가 있다.
컴퓨터 시스템을 운영하고 관리하는 소프트웨어로 Window, MacOS, Ubuntu(Linux) 등이 있다.
프로그램이란 어떤 문제를 해결하기 위해 컴퓨터에 주어지는 처리 방법과 순서이다. 즉, 프로그램이 실행된다?
란 보조메모리에 저장되어있는 코드들이 주메모리로 올라와서 작성된 작업이 진행됨을 의미한다.
이것을 두고 프로세스가 생성된다.
라고 얘기한다. (정적 메모리 상태에서 동적 상태로 변형되어 주 메모리에 올라온 것)
스레드는 프로세스 내에서 실행되는 여러 작업의 단위이다. 스레드끼리 메모리 공유와 통신을 할 수 있다. 멀티 스레딩은 자원의 낭비를 막고 효율성이 향상된다. 하지만 한 스레드에 문제가 생기면 전체 프로세스에 영향을 미친다는 단점도 있다.