728x90
컴퓨터는 20~21세기 인류에게 혁신적인 발전을 주었다. 본래 컴퓨터의 어원은 라틴어 'Compurate'에서 기원하였는데 계산한다는 의미를 담고 있다고 한다.
컴퓨터는 인간이 장기간에 걸쳐 해결할 수 있는 문제나 수식을 단기간에 처리한다.
따라서 이번시간에는 컴퓨터의 구성요소와 프로그래밍에 대해서 알아보도록하자.
컴퓨터의 구성요소
- 소프트웨어
- 하드웨어
소프트 웨어
우선 소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 분류된다.
- 시스템 소프트웨어(system software) : Windows, Mac과 같은 OS, Node.js와 같은 런타임 등 '응용소프트웨어의 실행 환경'과 키보드 드라이버, 마우스 드라이버와 같은 '장치 드라이버'가 있다.
- 응용 소프트웨어(application software): 시스템 소프트웨어를 제외한 모든 소프트웨어, 앱이라고도 부르며 일반적으로 프로그램으로 불린다.
하드웨어
하드웨어는 컴퓨터를 구성하는 여러 장치들을 뜻한다. 대표적으로는 CPU, 보조기억장치, 주기억장치 등이있다.
- 중앙처리장치(Central Processing Unit, CPU): 컴퓨터의 핵심 장치로, 프로세서라고도 한다.
- 제어장치(CPU의 모든 동작과 데이터 흐름을 통제하고 관리)
- 연산장치(프로그램에 기술되어져 있는 명령어를 수행)
- 레지스터(연산장치의 동작에 필요한 데이터들을 임시적으로 보관하며 제공)로 구성된다.
- 기억장치(Memory Device):
- 보조기억장치(컴퓨터에게 필요한 모든 정보를 반영구적으로 저장, ex. SSD)
- 주기억장치(컴퓨터가 프로그램을 수행하는 동안 필요한 모든 데이터들을 저장합니다. ex. RAM)
- 캐시 메모리(재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시켜놓는 역할)
- 입력장치(Input Device): 데이터를 입력 받는 장치(ex. 키보드, 마우스)
- 출력장치(Output Device): 컴퓨터에서 사용자에게 보여지도록 하는 장치(ex. 모니터,스피커)
- 시스템버스(System Bus): 각 장치간의 통로(데이터 버스, 주소 버스, 제어버스)
프로그래밍
program + ing
즉, 프로그래밍은 프로그램을 만드는 과정이라고 할 수 있다.
좀 더 나아가자면 특정 프로그램 언어를 사용하여 정해진 알고리즘을 코드로 작성하는 과정을 뜻한다.
프로그래밍 언어
나는 프로그래밍 언어를 인간과 기계사이의 통역이라고 이해했다. 인간의 언어는 중의적 표현이 많아 모호하고 기계의 언어는 숫자와 특정 문자로 구성되어 있어 난해하다.
프로그래밍 언어는 인간과 기계의 언어를 매개해준다.
- 컴파일(Compile): 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 과정
- 빌드(Build): 빌드는 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정, 최종적으로 실행할 수 있는 프로그램으로 완성시키는 것을 뜻한다.
- 통합개발환경(Integrated Development Environment, IDE): IDE는 코드를 작성할 때 사용하는 프로그램(ex. Visual Studio Code, IntelliJ, Eclipse)
'개발일지' 카테고리의 다른 글
네 번째 회고: CSS (0) | 2022.08.26 |
---|---|
세 번째 회고: HTML 시험 (0) | 2022.08.26 |
두 번째 회고: 트위틀러 목업 구현하기 (0) | 2022.08.25 |
웹 클라이언트와 웹 서버 (0) | 2022.08.22 |
첫 번째 회고: 메타인지의 중요성 (0) | 2022.08.22 |