입력 받은 데이처를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치
입력장치 : 사람이 컴퓨터에게 데이터를 입력하는 장치
정해진 규칙 : 프로그램(소프트웨어)
처리 : 정해진 규칙을 이용하여 연산을 수행(중앙처리장치를 통해서)
처리 결과 저장 : 처리 결과물을 기억장치에 저장
출력 : 컴퓨터가 사람에게 데이터 처리 결과를 보여주는 장치
정해진 규칙 - 프로그램
물리적인 형태가 갖춰지지 않은 구성요소
명령어의 집합
하드웨어를 움직이는 명령어
컴퓨터를 구성하는 기계적 장치들의 집합
프로그램 실행과 데이터 처리를 담당하는 핵심장치
CPU의 동작에 필요한 데이터들을 장기적 또는 단기적으로 보관하는 장치
주기억장치(RAM, ROM)
컴퓨터가 프로그램을 수행하는 동안 필요한 데이터를 저장
작은 용량, 빠른 속도
CPU의 연산 속도가 매우 빠르고 주기억장치를 이 속도를 따라갈 수 있어서 주기억장치는 CPU와 직접 소통
보조기억장치(SSD, HDD)
컴퓨터에게 필요한 모든 정보를 반영구적으로 저장하는 장치
큰 용량, 느린 속도
보조기억장치는 CPU의 연산 속도를 따라잡지 못하기 때문에 직접적인 소통이 없다
캐시메모리
주기억장치에 속하여 있는 것으로, 주기억장치가 CPU의 연산속도를 따라갈 수는 있지만 그만큼 빠른건 아니기 때문에, CPU에서 사용한 데이터와 관련된 데이터 중 재사용 가능성이 높은 데이터를 주기억장치에서 미리 불러와 대기 시켜주는 역할
CPU를 포함한 각 하드웨어 장치 간의 통로(물리적으로 연결한 전선)
프로그램을 설계된 알고리즘을 프로그래밍 언어로 만드는 과정
프로그래밍 언어로 작성된 코드를 기계어로 변환시켜 컴퓨터가 이해할 수 있도록 하는 과정
프로그램을 실행할 수 있도록 실행 확장자를 가진 실행 파일로 만들어주는 과정
(컴파일은 빌드 과정에 속해있는 일부 과정이다.)
코드를 작성할 때 사용하는 프로그램 (VSC, Eclipse 등)
리소스를 사용하는 앱
리소스를 제공해주는 곳
클라이언트는 서버에게 정보를 요청하고 서버는 클라이언트에게 정보를 제공한다.
서버는 리소스를 제공하는 공간이므로 클라이언트에게 제공할 리소스를 저장해야 할 공간이 필요하다. 이를 행하는 곳이 데이터베이스이다.