모각코/뉴진주택

[뉴진주택] 1회차

카르노도 2024. 1. 6. 23:46

Process
- 실행 중인 프로그램을 의미
- 스케줄링의 대상이 되는 작업과 같은 의미로 쓰임
- Storage의 프로그램을 실행하면, 실행을 위해 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라감.
- 이 순간부터 process라고 불림
- process는 하나 이상의 스레드 구성이 됨

Thread
- 프로세스와 유사하지만, 메모리의 많은 부분 공유
- 스레드 별로 스택과 레지스터 가짐
- Thread of control을 줄인 말로, 제어의 흐름을 시각적으로 표현

프로세스와 스레드의 차이

Process Thread
프로그램이 실행하기 위한 모든 자원들을 개별적으로 가지고 있어 무거움 개별적으로 분리가 필요한 최소한의 자원들만 가져LWP(Sight Weight Process)라고도 하는 경량 process
개별 메모리로 인해 프로세스 간 통신이 느림. 
Process간 통신을 위해서는 OS에서 제공하는 다양한 통신 기술을 이용해야 함
공유 메모리를 이용한 직접 통신이 가능해 스레드간 통신이 빠름



Single Thread
- main 스레드에서 작업 진행, 작업은 순차적으로 진행됨
- 하나의 ㅡ로세스에서 오직 하나의 스레드로만 실행
- 단일 레지스터와 스택으로 구성
- Context Switching 작업을 요구하지 않음
- 동시성 제어에 대한 처리를 신경 쓰지 않아도 됨

Multi Thread
- 프로그램 내에서 두 개 이상의 동작을 동시에 실행
- 프로세서의 활동을 극대화
- 구 개가 동작을 동시에 실행
- 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유
- 자원의 생성과 관리의 중복성 최소화
- 수행 능력 향상

Computer Network
Computer Network란?
- 서로 데이터를 교환하고 리소스를 공유할 수 있는 상호 연결된 Computing device의 집합
- 프로토콜을 사용하여 통신
- 다양한 형태로 구성(Topology)

Node
Computing device간 메시지 전달을 위해 중간 연결 역할을 수행하는 다양한 디바이스를 말한다.
하나 이상의 node가 다양한 형태로 연결될 수 있다.
Node 종류
- Network Interface
- Repeater and Hub
- Bridge
- Switch
- Router
- Modem
- Firewall

HTTP(Hypertext Transfer Protocol)
- Web의 자원 위치에 접근하는 프로토콜
- HyperText 를 클라이언트와 서버 사이에 주고 받을 수 있게 정의한 프로토콜
- TCP/IP 프로토콜 위에서 동작하는 Text Based 프로토콜
    - 사람이 눈으로 보고 이해 가능!

GET vs POST
GET
- 리소스를 요청하기 위한 메서드

POST
- 서버에 입력 데이터를 전송하기 위한 메서드
- 주로 HTML 폼을 사용하기 위하여 많이 사용됨

Header
General Headers
- 클라이언트 서버 양 쪽에서 모두 사용

Request Headers
- 클라이언트에서 사용

Response Headers
- 서버에서 사용

Entity Headers
- 엔터티 본문에 대한 헤더