4 November 2024

Thread의 종류

by 꽈배기

image

H/W Thread

image CPU core가 작업을 한 후 memory 작업을 하게될때 쉬게되는 구간이 존재하게 된다. 메모리에 접근하는 동안 독립적인 작업을 하기위해 제안되었다.

OS 관점에서 가상의 코어로 인식된다 (멀티코어 -> 4개의 H/W Thread -> 4개의 논리 코어로 인식)

하이퍼 스레딩

이처럼 H/W Thread의 기술을 하이퍼 스레딩이라 한다.

OS Thread

CPU에서 실제로 실행되는 단위, CPU 스케쥴링의 단위

아래와 같이 불리기도 함

User Thread

스레드 개념을 프로그래밍 레벨에서 추상화 한 것.

image

즉 User mode에서의 User Thread를 OS Thread와 연결시킨 것이다.

One-to-One model

Many-to-One model

Many-to-Many model (Go)

User thread

OS와는 독립적으로 유저 레벨에서 스케줄링 되는 스레드 (기술문서등에선 User단에서 작동하는 스레드만을 지칭하는 경우가 있음)

Green thread

OS와는 독립적으로 유저 레벨에서 스케줄링되는 스레드

Kernel thread

OS 커널의 역할을 수행하는 스레드 (커널의 역할을 하는 스레드와 커널단에서 작동하는 스레드, 이 두 가지 혼동에 유의)

tags: ComputerScience