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.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.