- 컴퓨터 동작 원리

리문·2022년 4월 21일
0

1. 컴퓨터 동작 원리

현대 컴퓨터의 구성

  • 메모리 : 데이터 저장 공간

  • I/O : input + output

  • CPU : 계산이 이뤄지는 공간

    Memory

  • 메모리 저장 방식

    • 리틀엔디안 -> 0001 -> 연산하기에 용이하기 때문에 자주 사용됨.
    • 빅 엔디안 -> 1000

CPU

  • 산술 논리 유닛(ALU) : 연산
  • 레지스터 : CPU가 데이터를 저장 (CPU는 레지스터에서만 논다.)
  • 제어장치 : 둘을 제어함.

CPU cache mainMemory diskCache hardDisk 순차적으로 불러오며 연산함.

컴퓨터 아키텍쳐 : 컴퓨터의 여러 구성요소가 배치되는 방법.

  • 폰 노이만
  • 하버드

I/O

  • 입력(input) : 컴퓨터에게 데이터를 주는것
  • 출력(output) : 컴퓨터가 데이터를 주는것

OS

  • 하드웨어 자원을 사용할 수 있게 해주는 것

프로세스

프로그램이 실행

  • 힙 : 동적 할당 영역
  • 스택 : 정적 할당 영역
  • 데이터 : 정적 데이터
  • 코드 : 작성한 명령 코드

프로세스가 진행 -> 스레드
한 프로세스가 하나의 스레드를 가짐.
프로세스가 진행되는 스레드 -> 메인스레드

  • 스레드끼리는 메모리를 공유.

네트워크

  • 서로 통신하기 위해 만들어짐 -> OSI 7 Layer

OSI 7 Layer

  • 애플리케이션 레이어 : 네트워크를 통하여 받은 데이터를 어떻게 통신 할 것인가.
  • 프레젠테이션 레이어 : 인코딩 디코딩
  • 세션 레이어 : 세션을 어떻게 연결할 것 인가.
  • 트랜스포트 레이어 : 데이터 전송 방식
  • 네트워크 레이어 : 컴퓨터를 어떻게 식별할 것인가 IP주소
  • 데이터링크 레이어 : 데이터 경로 식별 방식
  • 피지컬 레이어 : 실제 비트 전송방식.

2. 프로그래밍 언어.

  • 내 생각을 컴퓨터에게 전할 수 있는 도구
  1. Type : 비트를 해석하는 방법. + 그리고 그에 저장할 수 있는 연산을 포함한다.
    Primitive Type
    Built-in Type
    User Defined Type

ex)
struct Account
{
//이름 string name;
//번호 string, int, ... accountNumber;
//잔액 int balance;
//이율 float interest;
}
-> 어떤 상황에 어떤 타입을 사용할 지 연습이 되어있어야함.
추상화.

  1. Control Statement
  • Conditional Statement.

    if / else /switch

  • Iteration Statement

    for / while / do while

    C, C++, C#
    for (int i = 0; i < 5; i++)
    {
    }

    python
    for i in range(5) :

  1. Function
    정의역에 있는 어떤 값을 대입 시켰을 때, 그에 대응되는 공역의 값이 나오는 것.

f(x) = x

Core
언어의 핵심 -> 문법
변수, 조건문, 반복문, 함수
구조체, 열거형, 배열, 포인터,
공용체, 매크로, 타입 재정의

  • Library
    • 함수의 모음
    • 표준(Standard) -> 표준이 아닌것은 프로그램이 동작할 때 마다 설정을 다시 해주어야함.

Computational Thinking을 가지는 것이 프로그래머의 기본 소양!

profile
개발자되기 대작전

0개의 댓글