반응형

스레드(Thread)

스레드프로세스를 구성하는

실행 흐름의 단위이다.

 

프로세스와 스레드

전통적으로 프로세스는

하나의 프로세스 당 하나의 일만 처리하는

단일 스레드 프로세스의 개념이었다.

 

그러나, 스레드라는 개념이 도입되면서

프로세스 내에서 최소한의 정보인

프로그램 카운터, 레지스터, 스택을

제외한 다른 자원들을 공유함으로

멀티 스레드 프로세스가 가능해졌다.

 

멀티프로세스 vs 멀티스레드

여러 프로세스를 동시에 실행하는

멀티 프로세스

 

여러 스레드로 프로세스를 동시에 실행하는

멀티 스레드에는 큰 차이가 있다.

 

보통 프로세스끼리는 자원을 공유하지 않지만,

스레드끼리는 프로세스 내 자원을 공유한다.

 

때문에 같은 작업을 처리해야 할 때

멀티 프로세스로 작업하기 위해서는

프로세스 자체를 복제하여 모든 정보들이

메모리에 적재되어야 했지만,

 

멀티 스레드로 작업할 경우에는

일부 자원을 공유한 상태에서

레지스터, 스택, 프로그램 카운터만

각 스레드 별로 따로 갖게 되므로

더 효율적으로 처리할 수 있고

협력 및 통신에 유리하다는 장점이 있다.

 

그러나 하나의 스레드에 문제가 생기면

전체 프로세스에 영향이 생긴다는 단점도 있다.

반응형

'개인 학습 > 운영체제' 카테고리의 다른 글

11 - CPU 스케줄링 알고리즘  (0) 2023.02.09
10 - CPU 스케줄링  (0) 2023.02.09
08 - 프로세스 계층 구조  (0) 2023.02.06
07 - 프로세스 상태  (2) 2023.02.06
06 - 프로세스의 메모리 영역  (1) 2023.02.06

+ Recent posts