Back-end/운영체제

Process VS Thread

Ho's log 2021. 5. 11. 21:35

Program 

실행되기 전! 상태의 명령어, 코드 및 정적인 데이터의 묶음

 

Process

실행 중인 Program!, 운영체제로부터 시스템 자원을 할당 받는 작업의 단위

구조

 

PCB (Process Control Block)

각 프로세스는 운영체제에서 PCB로 표현

PID : 프로세스 식별자

프로세스 상태 : new, ready, running, waiting, halted 등

프로그램 카운터 : 당므 실행할 명령어의 주소

스케줄링 정보 : 우선순위

 

Multi Process

하나의 작업을 여러개의 프로세스가 처리

프로세스간 통신 (IPC, Interprocess communication)

Context switching 비용이 큼

자식 프로세스 중 하나가 문제가 생겨도 다른 프로세스에 영향이 없음

예) Google chrome

 

Thread

구조

프로세스 내에서 실행되는 흐름의 단위

CPU 이용의 기본 단위

Text, data, heap 영역을 공유

각 thread는 별도의 stack 영역을 가짐 

 

Multi Thread

프로세스의 자원을 공유

향상된 응답성

Context switching 비용이 적음

자원을 공유하는 만큼 충동을 주의(Thread-safe하게)

예) Web server

 

 

 

www.youtube.com/watch?v=LLiV5Yz1AWg&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=86

 

'Back-end > 운영체제' 카테고리의 다른 글

CentOs 방화벽 - firewall 명령어  (0) 2023.07.10
Interrupt, Context Switching  (0) 2021.05.13
Cache  (0) 2021.04.25