각각의 프로세스에는 적어도 하나의 Kernel Level Thread가 존재한다. 만약 프로세스에 여러개의 Kernel Level Thread가 존재한다면, 스레드는 동일한 메모리와 파일 리소스를 공유한다.
따라서 입출력이 필요없는 스레드는 하나 이상 스레드를 가지고, 사용자 입출력이 필요한 프로세스는 두개(kernel Level Thread 1 + User Level Thread 1) 이상의 스레드를 가지게 된다.
https://en.wikipedia.org/wiki/Thread_(computing)
https://docs.oracle.com/cd/E19620-01/805-4031/6j3qv1oej/index.html
https://www.tutorialspoint.com/multi-threading-models
https://www.geeksforgeeks.org/multi-threading-models-in-process-management/
https://helloinyong.tistory.com/293
https://happy-chipmunk.tistory.com/entry/11-Multithreading2-Thread-%EC%9D%98-%EC%A0%81%EC%9A%A9-Userlevel-Threading-%EA%B3%BC-Kernellevel-Threading
https://www.geeksforgeeks.org/difference-between-user-level-thread-and-kernel-level-thread/
http://www.cs.iit.edu/~cs561/cs450/ChilkuriDineshThreads/dinesh's%20files/User%20and%20Kernel%20Level%20Threads.html