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 |