운영체제 (OS): 컴퓨터 구조 시작하기

GreenBean·2023년 6월 1일
post-thumbnail

운영체제 (OS)

컴퓨터 구조 시작하기

Inflearn: 혼자 공부하는 컴퓨터구조 + 운영체제

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

문제 해결

  • 미지의 대상에서 분석의 대상으로
  • 컴퓨터를 관조할 수 있는 능력 배양
    • 문법에 맞는 소스 코드를 컴퓨터에 입력만 하는 개발자
    • → 컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자

성능 ∙ 용량 ∙ 비용

  • 컴퓨터 구조는 결국 성능 ∙ 용량 ∙ 비용에 대한 이야기
  • 프로그래밍 언어의 문법만으로는 해결하기 어려운 문제들

컴퓨터 구조의 큰 그림

컴퓨터 구조

  • 컴퓨터가 이해하는 정보
    • 데이터
    • 명령어
  • 컴퓨터의 네 가지 핵심 부품
    • CPU
    • 메모리
      • RAM
        • 메모리 라고 하는 용어는 일반적으로 RAM 이라고 하는 하드웨어를 지칭
      • ROM
    • 보조기억장치
    • 입출력장치

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

  • 숫자 ∙ 문자 ∙ 이미지 ∙ 동영상과 같은 정적인 정보
  • 컴퓨터와 주고 받는 / 내부에 저장된 정보를 데이터라 통칭하기도
  • 0 과 1 로 숫자를 표현하는 방법
  • 0 과 1 로 문자를 표현하는 방법

컴퓨터가 이해하는 두 가지 정보: 명령어

  • 컴퓨터는 결국 명령어를 처리하는 기계
  • 명령어
    • 컴퓨터를 실질적으로 움직이는 정보
    • 데이터는 명령어를 위한 일종의 재료
  • 명령어의 생김새와 동작 방식

컴퓨터의 네 가지 핵심 부품

  • 메모리: 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
    • 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다
    • 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다
    • 메모리에 저장된 값의 위치는 주소로 알 수 있다

  • CPU: 메모리에 저장된 명령어를 읽어 들이고 ∙ 해석하고 ∙ 실행하는 부품
    • CPU 는 메모리에 저장된 값을 읽어 들이고 ∙ 해석하고 ∙ 실행하는 장치다
    • CPU 내부에는 ALU ∙ 레지스터 ∙ 제어장치가 있다
      • ALU: 계산기 ( 계산하는 장치 )
      • 레지스터: CPU 내부의 작은 저장장치 ( 임시 저장 장치 )
      • 제어장치: 제어 신호를 내보내고 ∙ 명령어를 해석하는 장치 ( 제어 신호를 발생시키고 명령어를 해석하는 장치 )
        • 컴퓨터의 부품들을 관리하고 작동시키기 위한 전기 신호
        • CPU 가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기 라는 제어 신호를 보낸다
        • CPU 가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기 라는 제어 신호를 보낸다

  • 보조기억장치: 전원이 꺼져도 보관될 프로그램을 저장하는 부품
    • 메모리 ( RAM )
      • 보조기억장치에 비해 비싸다
      • 전원이 꺼지면 저장된 내용을 잃는다
    • 메모리는 실행할 정보 를 저장하고 보조기억장치는 보관할 정보 를 저장한다
  • 입출력장치: 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
    • 보조기억장치랑 입출력장치랑 뭐가 다른 거에요?
      • 딱 잘라 구분되는 개념은 아닙니다
      • 주변장치 ( Peripheral Device ) 라 통칭하기도
      • 보조기억장치는 메모리를 보조하는 특별한 입출력 장치다
  • 메인보드
    • 메인보드에 연결도니 부품은 버스를 통해 정보를 주고 받음
    • 버스는 컴퓨터의 부품끼리 정보를 주고받는 일종의 통로
    • 다양한 종류의 버스가 있음
    • 컴퓨터의 핵심 부품을 연결하는 버스는 시스템 버스
  • 시스템 버스
    • 시스템 버스의 내부 구성
      • 주소 버스: 주소를 주고받는 통로
      • 데이터 버스: 명령어와 데이터를 주고받는 통로
      • 제어 버스: 제어 신호를 주고받는 통로

profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글