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. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference between Process Image and Multi Thread Process image
- Formation Of Process from Program
- Difference between Process and Thread
- Difference between Product and Process
- Difference between Process and Kernel Thread
- Difference between Process and User Level Thread
- Difference between process.nextTick() and setImmediate() Methods
- Process states and Transitions in a UNIX Process
- Pass the value from child process to parent process
- Process Table and Process Control Block (PCB)
- Difference between Software Engineering process and Conventional Engineering Processs
- Process Scheduler : Job and Process Status
- Difference between Thread Context Switch and Process Context Switch
- Difference between Program and Project
- Difference between Program and Product
- Difference between Program, Project and Product
- Difference between Algorithm, Pseudocode and Program
- Reversal process in DFA
- Union process in DFA
- TCP 3-Way Handshake Process
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : pp_pankaj