A Primer on OS Process [Operating Systems]

What is Process wrt Operating System? How is it different from program and thread? What is multiprogramming, multiprocessing, multithreading, multitasking?

Process Vs Program

ProgramProcess
Program contains a set of instructions designed to complete a specific task.Process is an instance of an executing program.
Program is a passive entity as it resides in the secondary memory (to store all instructions).Process is an active entity as it is created during execution and loaded into the main memory. A process contains memory address which is called address space.
Program is a static entity.Process is a dynamic entity.
Program does not have any resource requirement, it only requires memory space for storing the instructions.Process has a high resource requirement, it needs resources like CPU, memory address, I/O during its lifetime.

Process States

Process States
Process States

Process Vs Threads

Read Threads Vs Process

Multiprogramming Vs Multiprocessing Vs Multithreading Vs Multitasking

CharacteristicMultiprogrammingMultiprocessingMultithreadingMultitasking
What it is:The concurrent residency of more than one program in the main memory is called as multiprogramming.The availability of more than one processor per system, which can execute several set of instructions in parallel is called as multiprocessing.A process is divided into several different sub-processes called as threads, which has its own path of execution. This concept is called as multithreading.The execution of more than one task simultaneously is called as multitasking.
Number of CPU:OneMore than oneCan be one or more than oneOne
Job processing time:More time is taken to process the jobs.Less time is taken for job processing.Moderate amount of time is taken for job processing.Moderate amount of time.
Number of process being executed:One process is executed at a time.More than one process can be executed at a timeVarious components of the same process are being executed at a time.One by one job is being executed at a time.
Economical:It is economical.Is less economical.Is economical.It is economical.
Number of users:One at a time.Can be one or more than one.Usually one.More than one.
Throughput:Throughput is less.Throughput is maximum.Moderate.Throughput is moderate.
Efficiency:LessMaximumModerateModerate
Categories:No further divisionsSymmetric & Asymmetric.No further divisions.Single User & Multiuser.

Process Scheduling

Read Scheduling