1. Program :
When we execute a program that was just compiled, the OS will generate a process to execute the program. Execution of the program starts via GUI mouse clicks, command line entry of its name, etc. A program is a passive entity as it resides in the secondary memory, such as the contents of a file stored on disk. One program can have several processes.
2. Process :
The term process (Job) refers to program code that has been loaded into a computer’s memory so that it can be executed by the central processing unit (CPU). A process can be described as an instance of a program running on a computer or as an entity that can be assigned to and executed on a processor. A program becomes a process when loaded into memory and thus is an active entity.
Difference between Program and Process :
|1.||Program contains a set of instructions designed to complete a specific task.||Process is an instance of an executing program.|
|2.||Program is a passive entity as it resides in the secondary memory.||Process is a active entity as it is created during execution and loaded into the main memory.|
|3.||Program exists at a single place and continues to exist until it is deleted.||Process exists for a limited span of time as it gets terminated after the completion of task.|
|4.||Program is a static entity.||Process is a dynamic entity.|
|5.||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.|
|6.||Program does not have any control block.||Process has its own control block called Process Control Block.|
Attention reader! Don’t stop learning now. Learn all GATE CS concepts with Free Live Classes on our youtube channel.