[뉴진주택] 1회차
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
- 엔터티 본문에 대한 헤더