<컴퓨터의 구성요소>

 

-소프트웨어

 

System Software

응용소프트웨어 실행 환경

하드웨어와 직접 소통, 동작 관리

커널과 OS를 포함

 

Application Software

응용소프트웨어

 

 

-하드웨어

 

CPU(중앙처리장치, 프로세서)

제어장치: 데이터의 흐름 제어, 컴퓨터의 자원 관리

연산장치: 프로그램의 코드에 따라 계산

레지스터: 작고 빠른 기억장치, 연산에 필요한 데이터를 임시 보관

 

보조기억장치

넓은 데이터 저장 공간

느린 속도

컴퓨터 내의 모든 메모리가 저장

ex) HDD(Hard disk drive), SSD(Solid State Drive)

CPU와 바로 통신하기에는 처리속도가 너무 느림

 

주기억장치

보조기억장치보다 훨씬 적은 공간

빠른 속도

CPU와 직접 통신

RAM(Random Access Memory), ROM(Read Only Memory)

 

캐시 메모리(cache memory)

주기억장치보다 빠르지만 CPU보단 느린 속도

자주쓰는 데이터를 저장

 

입력장치

마우스, 키보드

 

출력장치

스피커, 모니터

 

시스템 버스(system bus)

컴퓨터내에 존재하는 데이터가 이동하는 통로

데이터 버스, 주소 버스, 제어 버스

 

 

 

 

<프로그래밍 용어>

 

프로그래밍: 알고리즘을 컴퓨터가 알아들을 수 있는 언어로 작성하는 행위

프로그램: 프로그래밍으로 작성된 결과

프로그래밍 언어: 컴퓨터 언어(이진법)과 사람의 언어를 매개해주는 언어

                          컴퓨터 언어에 가까울 수록 Low Level(Assembly) <-> 사람의 언어에 가까울 수록 High Level(Java,C++,,)

컴파일: 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 바꾸는 과정(빌드에 포함)

빌드: 프로그램을 실행할 수 있는 파일로 만드는 것(exe, msi 등)

통합개발환경(Integrated Development Environment, IDE): 코드를 작성하고 디버깅, 빌드 등을 모두 할 수 있는 개발 환경

 

 

 

 

<웹 클라이언트와 웹 서버>

 

클라이언트: 사용자에게 보여지는 부분

서버: 클라이언트에게 데이터를 보내는 부분

2-Tier architecture : 클라이언트와 서버로 분리, '클라이언트-서버 아키텍쳐'라고도 함

3-Tier architecture : 2티어 아키텍쳐 + 데이터베이스(데이터 보관)