[TIL] 컴퓨터와 프로그래밍 그리고 웹

·2022년 8월 22일
0

TIL

목록 보기
1/8

컴퓨터

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

입력장치 : 사람이 컴퓨터에게 데이터를 입력하는 장치
정해진 규칙 : 프로그램(소프트웨어)
처리 : 정해진 규칙을 이용하여 연산을 수행(중앙처리장치를 통해서)
처리 결과 저장 : 처리 결과물을 기억장치에 저장
출력 : 컴퓨터가 사람에게 데이터 처리 결과를 보여주는 장치

컴퓨터의 구성요소

소프트웨어

정해진 규칙 - 프로그램
물리적인 형태가 갖춰지지 않은 구성요소
명령어의 집합
하드웨어를 움직이는 명령어

  • 시스템 소프트웨어(System Software)
    window,mac os와 같은 운영체제
    키보드 드라이버, 마우스 드라이버 등의 각종 드라이버
  • 응용 소프트웨어(Application Software)
    시스템 소프트웨어를 제외한 모든 소프트웨어
    애플리케이션 또는 앱이라고 불리며, 일반적으로 우리가 프로그램이라고 부르는 것이 응용 소프트웨어에 해당한다.

하드웨어

컴퓨터를 구성하는 기계적 장치들의 집합

중앙처리장치(CPU)

프로그램 실행과 데이터 처리를 담당하는 핵심장치

  • 제어장치
    데이터의 흐름 관리, 운영체제와 소통하여 컴퓨터의 자원 관리
  • 연산장치
    프로그램의 명령어를 수행하는 장치
  • 레지스터
    CPU내 존재하는 작고 빠른 기억장치
    연산에 필요한 데이터를 임시적으로 보관하며 제공

기억장치

CPU의 동작에 필요한 데이터들을 장기적 또는 단기적으로 보관하는 장치

  • 주기억장치(RAM, ROM)
    컴퓨터가 프로그램을 수행하는 동안 필요한 데이터를 저장
    작은 용량, 빠른 속도
    CPU의 연산 속도가 매우 빠르고 주기억장치를 이 속도를 따라갈 수 있어서 주기억장치는 CPU와 직접 소통

  • 보조기억장치(SSD, HDD)
    컴퓨터에게 필요한 모든 정보를 반영구적으로 저장하는 장치
    큰 용량, 느린 속도
    보조기억장치는 CPU의 연산 속도를 따라잡지 못하기 때문에 직접적인 소통이 없다

  • 캐시메모리
    주기억장치에 속하여 있는 것으로, 주기억장치가 CPU의 연산속도를 따라갈 수는 있지만 그만큼 빠른건 아니기 때문에, CPU에서 사용한 데이터와 관련된 데이터 중 재사용 가능성이 높은 데이터를 주기억장치에서 미리 불러와 대기 시켜주는 역할

기억장치의 속도와 용량 비교

시스템버스

CPU를 포함한 각 하드웨어 장치 간의 통로(물리적으로 연결한 전선)

  • 데이터버스 - 데이터를 전달
  • 주소버스 - 데이터의 주소를 전달
  • 제어버스 - CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달

프로그래밍

프로그램을 설계된 알고리즘을 프로그래밍 언어로 만드는 과정

컴파일

프로그래밍 언어로 작성된 코드를 기계어로 변환시켜 컴퓨터가 이해할 수 있도록 하는 과정

빌드

프로그램을 실행할 수 있도록 실행 확장자를 가진 실행 파일로 만들어주는 과정
(컴파일은 빌드 과정에 속해있는 일부 과정이다.)

통합개발환경(IDE)

코드를 작성할 때 사용하는 프로그램 (VSC, Eclipse 등)

클라이언트

리소스를 사용하는 앱

서버

리소스를 제공해주는 곳

클라이언트-서버 아키텍쳐(2-tier)

클라이언트는 서버에게 정보를 요청하고 서버는 클라이언트에게 정보를 제공한다.

3-tier 아키텍쳐

데이터베이스

서버는 리소스를 제공하는 공간이므로 클라이언트에게 제공할 리소스를 저장해야 할 공간이 필요하다. 이를 행하는 곳이 데이터베이스이다.

profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글