티스토리 뷰

컴퓨터 구조를 알아야하는 이유

문제 해결 능력을 키울 수 있다.

  개발자의 개발 환경에서 잘 작동하던 프로그램도 실제 사용자의 환경에서는 잘 작동하지 않는 경우가 많다. 컴퓨터 구조에 대한 이해가 있다면 소스코드가 컴퓨터의 가장 밑단에서부터 어떻게 실행되는지 훨씬 자세하게 살펴볼 수 있게 되므로 한 걸음 더 나아간 문제 해결이 가능하다. 

 

성능, 용량, 비용을 고려한 프로그래밍이 가능해진다.

  막 개발을 시작한 사람에게는 생소할 수 있지만 성능, 용량, 비용 문제는 개발에서 아주 중요하다. 실제 하드웨어 사용이나 클라우드 서비스를 이용할 때 등 다양한 부분에서 성능, 용량, 비용을 고려해야하고 제품, 서비스마다 천차만별이기 때문에 프로그래밍 언어에 대한 지식만으로는 절대 좋은 판단을 내릴 수 없을 것이다. 이럴 때 컴퓨터 구조에 대한 지식이 있다면 보다 적합한 성능, 용량, 비용에 대한 고려가 가능해지는 것이다.

 

 

컴퓨터 구조의 큰 그림

컴퓨터가 이해하는 두가지 정보

1. 데이터

  • 숫자, 문자, 이미지, 영상 등의 정적인 정보
  • 컴퓨터와 주고받는 정보 혹은 컴퓨터 내부에 있는 정보를 통칭하기도 함
  • 명령어를 위한 일종의 재료

2. 명령어

  • 컴퓨터를 실질적으로 움직이게 하는 정보
  • 소스 코드는 컴퓨터가 직접 읽을 수 있는 2진 숫자로 이루어진 기계어로 변환되어 실행   ex) 0100101....

컴퓨터의 네 가지 핵심 부품

1. CPU(Central Processing Unit)

  • 메모리에 저장된 명령어를 읽고 실행
  • ALU(실질적 계산을 담당), 레지스터(CPU 내부의 작은 저장장치), 제어장치(제어 신호를 내보내고, 명령어를 해석)로 구성

2. 메모리

  • 실행중인 프로그램의 명령어와 데이터를 저장(위치정보와 함께)
  • 프로그램이 실행되려면 메모리에 저장되어 있어야 함
  • 전원이 꺼지면 저장된 내용을 잃음
  • ex) RAM(Random Access Memory)

3. 보조기억장치

  • 전원이 꺼져도 저장된 내용을 잃지 않음
  • 일반적으로 메모리보다 용량이 크고 가격이 저렴함

4. 입출력장치

  • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 주고 받음

*(시스템) 버스

  • 컴퓨터 내부의 부품들끼리 정보를 주고받을 수 있는 일종의 통로

 

운영체제란?

  • 자원(프로그램이 실행되기 위해 마땅히 필요한 요소)을 관리하는 특별한 프로그램
  • 프로세스(실행중인 프로그램)을 관리하는 특별한 프로그램 - 어떤 프로세스를 먼저 실행할지, 얼마나 오래 실행할지, ...
  • 메모리의 커널 영역이라는 특별한 공간에 저장되어 있음
  • 프로그램을 위한 프로그램이라고 할 수 있으며, 개발자 입장에서는 운영체제로부터 어떻게 만들고자 하는 프로그램이 도움을 받아 동작하는지 이해하는 것이 중요

 

 

 

 

 

References

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함