User level thread | Kernel level thread | ||
---|---|---|---|
User thread are implemented by users. | kernel threads are implemented by OS. | ||
OS doesn’t recognized user level threads. | Kernel threads are recognized by OS. | ||
Implementation of User threads is easy. | Implementation of Kernel thread is complicated. | ||
Context switch time is less. | Context switch time is more. | ||
Context switch requires no hardware support. | Hardware support is needed. | ||
If one user level thread perform blocking operation then entire process will be blocked. | If one kernel thread perform blocking operation then another thread can continue execution. | ||
User level threads are designed as dependent threads. | Kernel level threads are designed as independent threads. | Example : Java thread, POSIX threads. | Example : Window Solaris. |
下面是上一年的门问题
https://www.geeksforgeeks.org/gate-gate-cs-2007-question-17/
参考:
http://www.cs.iit.edu/~cs561/cs450/ChilkuriDineshThreads/dinesh%27s%20files/User%20and%20Kernel%20Level%20Threads.html