컴퓨터(computer)란?
컴퓨터의 어원은 계산하다 라는 의미의 라틴어 "Computare"에서 유래되었다고 한다.
컴퓨터란 입력받은 데이터를 정해진 규칙대로 처리하여 처리결과를 저장하고 출력하는 전자장치이다. 정리하자면
"입력장치" 로 입력받은 데이터를 "프로그램(소프트웨어 및 애플리케이션)" 을 통해 정해진 규칙대로 "중앙처리장치" 에서 연산을 처리하여 "기억장치" 에 처리 결과물 데이터를 저장하고 "출력장치"로 결과를 출력하여 정보를 전달하는 장치이다. 컴퓨터는 크게 소프트웨어와 하드웨어로 구성되며 이 둘의 상호작용을 통해 동작된다.
소프트웨어란?
소프트웨어란 물리적인 형태가 존재하지 않는 컴퓨터의 구성요소로 하드웨어가 어떻게 동작해야하는지 규정해놓은 명령어의 집합이다. 소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 분류할 수 있다.
시스템 소프트웨어(System Software)
시스템 소프트웨어는 응용 소프트웨어를 실행하기 위한 역할을 수행하며, 하드웨어와 직접적으로 소통하며 하드웨어 장치들이 제대로 동작할 수 있도록 해준다.
응용 소프트웨어를 실행하기 위한 환경으로는 Mac, Windows, Linux와 같은 운영체제 및 Node.js, JRE와 같은 런타임 환경이 있으며, 하드웨어 장치를 관리하는 소프트웨어는 키보드 드라이버, 마우스 드라이버 등 각종 장치 드라이버 등이 있다.
응용 소프트웨어(Application Software)
응용 소프트웨어는 소프트웨어에서 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미한다. 애플리케이션, 앱 이라고도 부르며 일반적으로 프로그램 이라고 부른다.
하드웨어란?
하드웨어는 컴퓨터를 구성하는 기계장치들의 집합체이다. 하드웨어는 중앙처리장치, 기억장치, 입력장치, 출력장치로 분류된다.
중앙처리장치 (Central Processing Unit, CPU)
CPU는 프로그램의 실행과 데이터 처리를 담당하는 컴퓨터의 핵심장치로, 프로세서라고도 부른다. CPU는 제어장치, 연산장치, 레지스터로 구성되어있다.
- 제어장치
CPU의 모든 동작과 데이터 흐름을 통제하고 관리하며 운영체제와 소통하며 컴퓨터의 자원을 관리한다. - 연산장치
프로그램에 기술되어있는 명령어를 수행하고 코드를 실질적으로 실행시키는 장치이다. - 레지스터
CPU 내에 존재하는 작고 빠른 기억장치로 연산장치의 동작에 필요한 데이터를 임시로 보관 및 제공한다.
기억장치 (Memory Device)
기억장치는 저장장치라고도 하며, CPU의 동작에 필요한 데이터를 장기적으로 또는 단기적으로 보관한다. 장기적으로 저장하는 장치를 보조기억장치라고 하며 단기적으로 저장하는 장치를 주기억장치라고 한다.
- 보조기억장치
컴퓨터에 필요한 모든 정보를 반영구적으로 저장한다. 큰 용량의 데이터를 저장할 수 있지만, 데이터를 읽고 쓰는 속도는 느리다. CPU의 연산속도는 엄청 빠르지만 보조기억장치는 느리기 때문에 보조기억장치와 직접적으로 소통하지 않는다. 예로 SSD(Solid State Drive), HDD(Hard Disk Drive) 가 있다. - 주기억장치
컴퓨터가 프로그램을 수행하는 동안 필요한 모든 데이터를 저장한다. 큰 용량의 데이터를 저장할 수는 없지만 데이터를 읽고 쓰는 속도가 빠르다. CPU의 연산속도를 어느정도 따라잡을 수 있어서 주기억장치와 직접적으로 소통한다. 예로 RAM(Random Access Memory), ROM (Read Only Memory) 가 있다. - 캐시 메모리 (Cache Memory)
캐시 메모리는 한번 CPU가 사용한 데이터와 관련된 데이터 중, 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시켜놓는 역할을 한다.
입력장치 (Input Device)
키보드, 마우스, 마이크 등 사용자로부터 데이터를 입력받는 장치이다.
출력장치 (Output Device)
입력장치와 반대로 사용자에게 데이터를 출력해주는 장치로 모니터, 스피커, 프린터 등이 있다.
시스템 버스 (System Bus)
시스템 버스는 CPU를 포함한 각 하드웨어 장치 간의 통로이다. 각 하드웨어 장치를 물리적으로 연결한 전선을 위미하기 때문에 시스템 버스도 하드웨어에 포함된다.
- 데이터 버스
하드웨어 간의 데이터를 전달하는 통로이다 - 주소 버스
데이터가 어디에 도착해야 하는지에 대한 정보를 전달하는 통로이다. - 제어 버스
CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로이다.
'공부 > 전자컴퓨터공학' 카테고리의 다른 글
HTML 이란? HTML CSS JAVA 기초 지식 쌓기 (0) | 2024.04.30 |
---|---|
프로그램(Program)이란? 웹(Web)이란?웹 개발, 웹 디자인을 위한 기초 지식 쌓기 (0) | 2024.04.30 |
Do it! 점프 투 파이썬 - 2장. 파이썬 프로그래밍의 기초, 자료형 (3) (1) | 2024.04.26 |
Do it! 점프 투 파이썬 - 2장. 파이썬 프로그래밍의 기초, 자료형 (2) (1) | 2024.04.25 |
Do it! 점프 투 파이썬 - 2장. 파이썬 프로그래밍의 기초, 자료형 (1) (0) | 2024.04.24 |