본문 바로가기

TIL

프로세스와 쓰레드



1. 프로세스 : 운영체제로 부터 프로세서를 할당받아(자원) 실행되기 위한 주소 공간, 메모리등을 할당 및 실행
   스레드  : 한 프로세스 내에서 동작되는 여러 실행의 흐름, 프로세스 내의 주소 공간 및 자원을 프로세스 내의 스레드끼리 공유

2. 쓰레드의 종류
- user thread : 일반적으로 프로세스 안에서 실행되는 스레드 스레드끼리의 오버 헤드가 발생하지 않는다.  ( single process )
- kernel thread : kernel scheduler에 cpu를 할당받아 실행, 멀티 프로세스를 할당 받을수 있음 
- multiplexed thread : 컨텍스트 전환이 느리기 떄문에 위의 두가지를 섞은 쓰레드 , NPTL(Native POSIX Threading Library)를 발전시키는 중


- user thread 가 컨텍스트 전환시 오버헤드가 커널쓰레드 보다 적은 이유는 커널 스케쥴러를 호출할 필요가 없기 떄문. ( 레지스터 저장 및 I/O 발생), 10배 정도 느림




'TIL' 카테고리의 다른 글

면접질문 ( node.js + 백엔드 )  (0) 2019.10.17
Google Next Extended Seoul 2018  (0) 2018.10.15
mysql replication  (0) 2018.07.09
mysql fulltext  (0) 2018.07.09
ubuntu 14.04 mysql install  (0) 2018.07.05