1. Process:
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 |
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. |