difference between user level thread and kernel level thread

what are the differences between user level thread and kernel level thread?

Posted Answers

User level thread-it is supported above kernel level and implemented by a thread library at the user level.Kernel is unaware of user-level threads so all thread creation,and scheduling is done in user space without the need for kernel intervention.Threads are fast to create and manage.The main drawback is that if the kernel is single threaded,then any user-level thread performing a blocking system call will cause the entire process to block,even if other threads are available to run within the application.
Kernel level threads-Kernel level threads are supported directly by the OS.Kernel performs thread creations ,scheduling and management in kernel space Because the thread management is done by OS ,the kernel threads are generally slower to create.Since the kernel is managing the thread,if a thread performs a blocking system call,then the kernel can schedule another thread in the application for execution.


Answer by: anonymous