쓰레드는 사용자 쓰레드와 커널 쓰레드로 나눌 수 있다. 사용자 쓰레드는 thread library에 의해서 커널 지원 없이 사용자 수준에서 제공한다. 커널 쓰레드는 OS 커널에서 직접 지원되고 관리된다. 현대 운영체제(windows,Solaris, Linux, Mac OS)는모두 커널 쓰레드를 지원한다. 이 떄 사용자 프로그램의 쓰레드와 커널 쓰레드 간에 여러 연관 관계가 존재하는데, Many-to-One 모델, One-to-One 모델, Many-to-Many모델로 볼 수 있다. 1) Many-to-One 모델 (solaris 구버전) 다수의 user-level thread가 한 개의 kernel thread에 연관되는 모델으로, thread 스케줄링과 동기화가 사용자 공간의 thread library..