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:
||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.
Level Up Your GATE Prep!
Embark on a transformative journey towards GATE success by choosing Data Science & AI
as your second paper choice with our specialized course. If you find yourself lost in the vast landscape of the GATE syllabus, our program is the compass you need.