Process, Kernel Thread and User Thread

Process, Kernel Thread and User Thread

There are some differences:

  1. User level thread has low overhead, kernel level thread has medium overhead and process has high overhead.

  2. User level threads are faster than kernel level threads faster than process.

  3. Process scheduling and kernel thread scheduling done by Operating System and user level thread scheduling done by user thread library.

  4. Blocking a process can not affect other process, similarly blocking a kernel level thread does not affect other kernel level threads; however, blocking a user level thread block whole process of the user level threads.

  5. Communication between processes need OS support, similarly communication between kernel level threads also needs OS support; however communication between user level threads does not require any support from Operating System.