Many : 1
U1U2U3U4
→K1
전환은 가볍지만 KLT 하나가 막히면 전체가 멈추고 한 코어만 쓴다.
사용자 런타임은 ULT를 고르고, 커널은 실제 CPU에서 실행할 KLT를 고른다. 매핑 모델은 두 스케줄러 사이의 연결 방식이다.
전환은 가볍지만 KLT 하나가 막히면 전체가 멈추고 한 코어만 쓴다.
각 스레드를 커널이 직접 보며 병렬 실행한다. 생성·전환 비용도 커널이 부담한다.
런타임이 많은 ULT를 소수 KLT에 다중화한다. 블로킹 처리는 구현에 달린다.
판단 축
Many : 1
1 : 1
M : N
커널이 보는 실행 단위
1 KLT
각 KLT
carrier KLT
멀티코어 병렬성
없음
가능
KLT 수만큼
관리 주체
런타임
커널
런타임 + 커널
CPU 병목ULT 수가 아니라 동시에 실행 가능한 KLT 수와 코어 수를 본다.
I/O 블로킹호출이 KLT를 막는지, 런타임이 다른 ULT로 넘길 수 있는지 확인한다.
구현 확인M:N은 이름만으로 블로킹·공정성 정책이 정해지지 않는다.