- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference Between Program and Process
A program is a passive entity that has a set of codes and instructions required to accomplish a task. A process, on the other hand, is an active entity of a program that is started with the execution of the program. Thus, the process is started by the program, once it is executed. The instructions of the program are then executed by the process.
Read through this article to find out more about programs and processes and how they are different from each other.
What is a Program?
A program is a set of instruction codes that has been designed to complete a certain task. It is a passive entity stored in the secondary memory of the computer system. A program is considered as a passive and static entity.
A program is like a file which contains a set of instruction codes stored on a disk in the form of an executable file. A program contains instructions written in any programming language. Programs have an unlimited span of time.
What is a Process?
A process is an instance of a program that is being currently executed. It is a dynamic and active entity of a program. Processes are created when the programs are executing and they reside in the main memory.
A process exists only for a limited time, and hence gets terminated as soon as the task completes. A process always consists of instructions written in machine language. A process contains temporary data, data selection, etc.
Difference between Program and Process
The following table highlights the important differences between a program and a process −
|It is a set of instructions that has been designed to complete a certain task.||It is an instance of a program that is being currently executed.|
|It is a passive entity.||It is an active entity.|
|It resides in the secondary memory of the system.||It is created when a program is in execution and is being loaded into the main memory.|
|It exists in a single place and continues to exist until it has been explicitly deleted.||It exists for a limited amount of time and it gets terminated once the task has been completed.|
|It is considered as a static entity.||It is considered as a dynamic entity.|
|It doesn't have a resource requirement.||It has a high resource requirement.|
|It requires memory space to store instructions.||It requires resources such as CPU, memory address, I/O during its working.|
|It doesn't have a control block.||It has its own control block, which is known as Process Control Block.|
The most significant difference that you should note here is that a program is a set of instructions that is created to accomplish a specific task, whereas a process is a subset of a program which is created when the program is in execution.
Kickstart Your Career
Get certified by completing the courseGet Started