STUDY/운영체제

[운영체제] 쓰레드 (thread)

디리릭 2022. 1. 10. 01:44
728x90

Thread란, 프로세스 내에서 실행되는 단위이다. 프로세스에는 스레드가 한개 이상 존재하는데 2개 이상일 경우에 이를 멀티쓰레드라고 한다. 

 

- 쓰레드와 프로세스의 차이

프로세스는"실행 중인 프로그램 단위" 라고 정의할 수 있고 프로세스가 쓰레드보다 더 큰 범위의 개념임을 알 수 있다.  

멀티 프로세스는 서로 각각의 메모리 주소를 갖게 되고 멀티 쓰레드는 한 프로그램 내에 다수의 쓰레드를 갖는 형태이므로 서로 같은 메모리 주소를 갖는다. 따라서 쓰레드는 프로그램 내 코드, 전역 데이터, 힙 영역을 공유한다. 

 

=> 프로세스보다는 쓰레드가 더 경제적이다. 프로세스 갯수를 늘리는 것 보다 쓰레드 갯수를 늘리는 것이 좋다. 

 

 

- 쓰레드 제어 블록 (TCB)

생성 된 여러 쓰레드의 정보를 저장하는 곳이 쓰레드 제어 블록이다. 저장되는 정보는 아래와 같다. 

실행상태, 스케줄링 정보, 계정 정보, 포인터

 

 

참고: 

https://www.wrapuppro.com/programing/view/jAuG3VNBCbGnQWU

https://robodream.tistory.com/558

728x90