자기주도학습/자기주도학습

컴퓨터와 프로그래밍의 이해 + 컴퓨터 기초 용어 정리 [DAY2]

min민 2022. 12. 16.

학습목표:

1. 컴퓨터 구성 요소에 대한 설명이 가능할것.

2. 프로그램, 프로그래밍, 프로그래밍 언어, 컴파일, 빌드, 통합개발환경에 대해 설명 가능할것.

3. 2티어 아키텍처가 무엇인지?,  3티어 아키텍처가 무엇인지? 설명가능할것.

 

 

 

 

 

 

 

컴퓨터란?

입력 받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치.

 

 

 

 

그렇다면

컴퓨터 구성요소는 무엇인가?

소프트웨어와 하드웨어로 구분할 수  있다.

 

 


정해진 규칙대로 : 소프트웨어

입력받은 데이터를 처리해서 결과 출력 : 하드웨어 

 

 

 

 

소프트웨어 

시스템 소프트웨어: 응용소프트웨어를 실행하기 위한 환경이다. + 하드웨어 장치를 관리한다.

응용소프트웨어: 시스템 소프트웨어를 제외한 모든것이다.

 

 

 

 

 

 

 

 

 

 

하드웨어

중앙처리장치(cpu) : 제어장치, 연상장치, 레지스터로 구분 가능하며 각 요소의 동작이 어우러져 cpu기능을 수행한다.

[ 제어장치: cpu 데이터 흐름통제 ]

[ 연산장치: 프로그램 명령어 수행 ]

[ 레지스터: cpu내에 작고 빠른 기억장치 데이터 임시 보관 후 제공] 

 

 

 

기억장치

보조기억장치: ssd,hdd와 같이 정보 반영구 저장

주기억장치: 프로그램을 수행하는동안 필요한 데이터를 저장함. cpu는 주기억장치와 소통함.

 

캐시메모리

주기억장치는 보조기억장치에비해  빠른속도를 가졌지만, CPU의 연산 속도를 따라가지는 못하기에

한번 CPU가 사용한 데이터와 관련된 데이터 중 재사용이 높은 데이터를 주기억장치로부터 불러와 대기시키는 역할을 함.

 

기억장치의 계층구조는

 

- 위키피디아 메모리 계층구조

 

용량, 속도, 가격에 따라 이와같이 분류할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

시스템 버스:

CPU를 포함한 각 하드웨어 장치 간의 통로이다. 즉 각 하드웨어 장치를 물리적으로 연결한 전선을 의미한다.

 

데이터 버스:하드웨어 간에 데이터를 전달하는 통로

주소 버스:데이터가 어디에 도착해야 하는지에 대한 정보를 전달하는 통로

제어 버스: CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로

 

 

 

 

프로그래밍 언어란?

 

기계어와 같이 컴퓨터에게 가까운 언어일수록 저수준 언어라고 하며, 반대로 Java C언어와 같이 사람과 가까운 언어일수록 고수준 언어라고 한다.

 

 

 

 

컴파일이란? 

프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 있는 기계어 코드로 번역하는 과정을 컴파일(Compile)이라고 한다.

 

 

 

 

빌드?

컴파일도 빌드 과정의 일부이다. 빌드는 작성한 소스코드를 실행할 수 있는 산출물로 변화시키는 과정을 의미한다.

컴파일을 마친 코드는 실행하기 위해서 .exe 또는 .msi 확장자를 가진 파일로 만들어주는 빌드 과정이 필요하다.

 

 

 

 

통합 개발환경 (Integrated Development Environment, IDE)?

IDE는 코드를 작성할 때 사용하는 프로그램으로 하나의 프로그램에서 모든 작업을 처리할 수 있도록 한것이다.

코드 작성의 편리성 뿐만 아니라 디버깅, 빌드 등을 가능하게 한다

EX) 대표적으로는 내가 자주사용하는 Visual Studio Code가 이에 해당한다.

IntelliJ, Eclipse와 같은 것도 있다.

 

 

 

 

 

 

 

 

2 Tier Architecture

2티어 아키텍처는 : 클라이언트 / 서버로 구분한 설계 방식이다.

https://ehindistudy.com/2016/01/16/2-tier-3-tier-architecture-in-hindi/

클라이언트가 서버로 요청하게되고, 서버가 이에 응답하는 시스템이다.

 

 

 

 

 

 

 

 

3 Tier Architecture

3티어 아키텍처는: 클라이언트 / 서버 / 데이터베이스로 구분한 설계방식이다.

일반적으로 서버는 리소스를 전달해주는 역할만 담당하게 되고

리소스를 저장하는 데이터베이스를 마련하는것을 말한다.

 

기존 2티어 아키텍처에 데이터베이스가 추가된 형태라 할 수 있다.

 

 

 

https://ehindistudy.com/2016/01/16/2-tier-3-tier-architecture-in-hindi/

 

 

 

학습 후 느낀점:

익숙한 용어였기에 어렵지 않고 무난하게 짚고 넘어갈만한것만 적어보았다.

 

* 기억장치의 계층구조가 cpu -> 캐시기억장치 -> 주 기억장치 -> 보조 기억장치가 있다는 내용 [속도 HIGH -> LOW 순]

* 시스템 버스 용어정리 [하드웨어를 연결하는 물리적 장치(전선) ].

* 빌드작업에 컴파일이 포함되며 빌드가 마친 이후에도 exe나 msi 확장자로 빌드해줘야 한다는 내용.

* 2 -TIER / 3-TIER 아키텍처의 용어정리 [클라이언트 / 서버 ] [ 클라이언트 / 서버 / 데이터베이스]

 

 

생소한 용어정리도 짚고 넘어가게됐다.

매일 한번씩 용어정리하는것도 좋을것 같다.

 

 

 

 

 

 

*이미 따라 적어보면서 다 외워버린건 안 비밀. ^^

 

매주 한번씩 게시글 찾아오기만해도 복습될듯♥

댓글