[운영체제] 스레드

스레드 🐾

이화여대 반효경 교수님의 운영체제 강의를 듣고 작성하였습니다. 🙂


스레드(Thread) 란?

스레드는 CPU를 수행하는 단위이다. (light-weight process 라고도 불린다.)


🐾 Thread의 구성


🐾 Thread가 동료 Thread와 공유하는 부분 (=task)


❗ 전통적인 개념의 heavy-weight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.


🐾 Thread 사용의 장점


image

프로세스마다 code, data, stack으로 구성된 주소공간이 생성된다.

이 프로세스를 관리하기 위한 PCB도 생성되게 된다.

동일한 일을 하는 프로세스가 여러개 있을 때, 프로세스마다 별도의 주소공간이 생기면 메모리의 낭비가 발생한다.

따라서 이런 경우에 주소공간은 하나만 할당되며 코드의 어느 부분을 실행하는지에 대한 정보가 담긴 PC를 여러 개를 두게 된다.

즉, 스레드마다 Stack, PC와 register 공간만을 별도로 두고 이 외에는 서로 공유한다.