A process is a unit of work done.
A process is a set of sequential steps that are required to do a particular task.
A process is an instance of a program in execution.
For example: in the windows environment, if we edit two text files, simultaneously, in notepad, then it means we are implementing two different instances of the some notepad program. For an operating system these two instances are separate processes of the some application.
A process needs certain resources such as CPU time, memory files, and I/O devices to accomplish its task.
These resources are allocated to the process either when it is created or while it is executing.
A process can be identified in an operating system environment by its following components:
§ The object program to be executed.
§ The data on which the program will execute.
§ The status of process execution.
A process is not same as program. A program is a passive entity whereas the process is an active entity.
A program is an algorithm expressed in some suitable notation and is only a part of a process that it can be just a file stored on a disk, file on a paper or even as a conceptual idea in the mind of an individual.
A process on the other hand is an activity of some kind.
It uses a program, has input/output and a state.
Besides including instructions to be executed a process also includes:
§ temporary data such as subroutine parameters
§ return address
§ program counter value
§ A process that has just been created but has not yet been admitted to the pool of executable processes by the operating system.
§ These processes are prepared to execute when given the opportunity.
§ A ready process has all the resources needed for its execution, except the processors.
§ Processes usually take the ready state immediately upon creation.
§ All ready processes are waiting to have the processor so that they can run.
§ The process whose instructions are being executed is called running process.
§ A running process possesses all resources needed for its execution including the processor.
§ The process is waiting for some event to occur or is blocked until some event occurs such as the completion of I/O operation.
§ Such a process cannot execute even if a CPU is available.
§ The process has finished its execution.
§ All the tasks in a process are completed.
§ A terminated process is then removed from the pool of executable processes by the operating system.
§ A process is terminated:
· If it has reached its natural completion point.
· When it aborts due to an unrecoverable error.
· Or when another process with appropriate authority causes the process to abort.