사용자 수준 쓰레드 : 쓰레드 라이브러리를 이용하여 작동하는 형태 - 다대일 매핑
커널 수준 쓰레드 : 커널(운영체제)에서 지원하는 형태 - 일대일 매핑
혼합형 쓰레드 : 둘을 혼합한 형태 - 다대다 매핑
쓰레드 패키지를 사용자 영역에 두고 운영체제 커널은 단일 프로세스만을 관리한다.
쓰레드 패키지를 런타임 시스템에서 운영한다.
운영체제 입장에서는 런타임 시스템도 하나의 프로세스로 인식한다
쓰레드를 운영하지 않는 운영체제제에서 실행할 수 있으므로 이식성이 뛰어나다
입출력 인터럽트가 발생하면 커널은 '사용자 모드'가 되어서 사용자 수준 스레드의 응답을 기다린다. 사용자 수준 스레드의 응답이 오면 다시 '커널 모드'로 변환되어 이어서 커널 스레드가 일 처리를 하게 되는 것이다.
컨텍스트 스위칭이 발생하지 않는다.
쓰레드 패키지를 운영체제에서 관리한다.
각 응용 프로그램들은 운영체제에 영향을 많이 받게 되므로 이식성이 낮다.
프로세스가 주기억 장치에 여러 개가 적재되어 CPU 할당을 기다리며 동작
커널이 직접 관리하므로 특정 스레드가 Block이 되어도 다른 스레드들은 독립적으로 일을 할 수 있다.