USER LEVEL THREAD:
[1]User threads are supported above the kernel and are
implemented by thread library at the user level.
[2] A library provides support for thread creation,
scheduling and management with no support from kernel.
[3] Kernel is unaware of user level thread. Creation and scheduling are done without need
for kernel interaction. So user level threads are faster and easier to create
and manage than kernel level thread.
[4]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 there are other threads available to run within application.
[5]User level thread library includes POSIX P threads, MACH
C threads, SOLARIS
[6] User level thread are created managed in user level
memory.
KERNEL LEVEL THREAD:
[1] Kernel threads are supported directly from OS.
[2]Thread creation scheduling and management are done in
kernel space (kernel memory) with the help of OS directory.
[3]It is slower to create and manage. However the kernel is
managing the thread if a thread (user) performing a block system call, another
thread of kernel can schedule another thread in the application for execution.
[4]Window’s NT, SOLARIS and digital UNIX are the operating system
that supports kernel thread.