컴퓨터 구조

[컴퓨터 구조] 컴퓨터 시스템의 구성

Doshisha 2022. 4. 18. 17:00

개요

이번 글에서는 컴퓨터 시스템의 구성, 프로그래밍 언어의 변천사/패러다임에 대해 이야기해보려고 한다.

컴퓨터 시스템의 구성

1. 하드웨어와 소프트웨어

- 컴퓨터는 하드웨어와 소프트웨어라는 두 가지 구성 요소를 갖는 시스템이다.

- 여기서 하드웨어는 물리적 장치를 의미한다.

- 소프트웨어는 하드웨어가 움직이도록 만드는 프로그램(명령어)의 집합이다.

2. 하드웨어의 구성

 

- 중앙 처리 장치(CPU)제어 장치, ALU, 레지스터로 구성되어 있다.

- 메인 메모리는 처리 중인 프로그램과 데이터가 일시적으로 저장되는 공간이다.

- 보조 저장 장치는 프로그램과 데이터가 영구적으로 저장되는 공간이다.

- 입력 장치는 프로그램과 데이터를 입력할 때 사용한다. (키보드, 마우스 등)

- 출력 장치결과를 표시할 때 사용한다. (모니터, 프린터 등)

- 통신 장치는 여러 컴퓨터를 연결해 컴퓨터 네트워크를 구성하는 데 사용한다.

3. 소프트웨어의 구성

- 소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 구분한다.

- 시스템 소프트웨어(컴퓨터 하드웨어의 리소스를 관리하고 필요한 정보를 처리하는 프로그램으로 구성)로는 운영체제, 시스템 지원 프로그램, 시스템 개발 프로그램이 있다.

- 응용 소프트웨어로는 범용 소프트웨어, 특수 소프트웨어가 있다.

프로그래밍 언어의 변천사

1. 기계어

- 컴퓨터를 위한 프로그램을 만들려면 컴퓨터 언어를 사용해야 한다.

- 오랜 시간 동안 컴퓨터 언어는 기계어에서 기호어로, 그리고 고급 언어로 진화해왔다.

- 컴퓨터가 유일하게 이해할 수 있는 언어는 기계어이다.

2. 기호어(어셈블리어)

- 1950년대 초에 그레이스 호퍼는 인간이 만든 프로그램을 기계어로 변환하는 개념을 최초로 고안했다.

3. 고급 언어

- 각각의 기계어 명령어로 각각의 기계에 맞는 프로그램을 작성하는 일이 쉽지 않았음 -> 프로그래머의 효율을 개선하고자 고급 언어를 만들기 시작함

- 고급 언어는 여러 컴퓨터에 이식할 수 있으므로 프로그래머는 컴퓨터 자체보다는 본질적인 애플리케이션 문제에 집중함

- 고급 언어는 프로그래머가 어셈블리어의 세부적인 내용들을 기억하지 않아도 된다는 강점도 있음

- 처음으로 가장 널리 사용된 고급 언어는 FORTRAN으로 1957년에 존 바커스와 IBM 팀이 개발함

- FORTRAN에 이어서 곧바로 COBOL이 등장하기도 했음

프로그래밍 언어의 패러다임

1. 패러다임이란

- 패러다임은 프로그램이 데이터를 처리하는 방법을 설명하는 모델 즉, 프레임워크

2. 절차형 패러다임

- 절차형(또는 명령형) 패러다임에서 프로그램은 명령어의 순차적 집합으로 구성되어 있다.

3. 객체 지향형 패러다임

- 객체 지향적 패러다임은 절차형 패러다임의 개념에서 더 나아가 특정 형태의 데이터에 적용할 수 있는 프로시저를 하나로 묶었다.

- 객체는 특정 형태의 데이터와 그러한 데이터에 적용할 수 있는 모든 작업을 묶은 것이다.

4. 함수형 패러다임

- 입력을 넣으면 대응되는 출력이 나오는 형태이다.

5. 논리형 패러다임

- 논리형 패러다임은 일련의 사실과 규칙을 기반으로 사용자의 입력인 쿼리에 응답하는 형태이다.

6. C++의 패러다임

- C++은 C언어를 발전시킨 프로그래밍 언어로 절차형 패러다임의 기초이다.

- 하지만 클래스와 객체를 제공하여 객체 지향형 패러다임을 활용할 수도 있다.