Difference between Process and User Level Thread
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. User Level Thread :
On the basis of level, threads are of two types:
- User level
- Kernel Level
User level thread is a type of thread in which threads of a process are managed at user level. User threads are scheduled by thread library (user mode).
Difference between Process and User Level Thread:
PROCESS | USER LEVEL THREAD |
---|---|
Process is a program being executed. | User level thread is the thread managed at user level. |
It is high overhead. | It is low overhead. |
There is no sharing between processes. | User level threads share address space. |
Process is scheduled by operating system. | User level thread is scheduled by thread library. |
Blocking one process does not affect the other processes. | Blocking one user Level thread will block whole process of the thread. |
Process is scheduled using process table. | User level thread is scheduled 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 user level thread leads to all the threads stop running. |
Its types are – user process and system process. | Its types are – user level single thread and user level multi thread. |
Each process can run on different processor. | All threads should run on only one processor. |
Processes are independent from each other. | User level threads are dependent. |
Process supports parallelism. | User level threads do not support parallelism. |
Contact Us