Difference between Process and Kernel Thread
Process is an activity of executing a program. Process is of two types – User process and System process. Process control block controls the operation of the process.
2. Kernel Thread:
Kernel thread is a type of thread in which threads of a process are managed at kernel level. Kernel threads are scheduled by operating system (kernel mode).
Difference between Process and Kernel Thread:
|Process is a program being executed.||Kernel thread is the thread managed at kernel level.|
|It is high overhead.||It is medium overhead.|
|There is no sharing between processes.||Kernel threads share address space.|
|Process is scheduled by operating system using process table.||Kernel thread is scheduled by operating system using thread table.|
|It is heavy weight activity.||It is light weight as compared to process.|
|It can be suspended.||It can not be suspended.|
|Suspension of a process does not affect other processes.||Suspension of kernel thread leads to all the threads stop running.|
|Its types are – user process and system process.||Its types are – kernel level single thread and kernel level multi thread.|