Monday, December 15, 2008

Process Computing

In computing, a process is an instance of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs concurrently.

A computer program itself is just a passive collection of instructions, while a process is the actual execution of those instructions. Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than one process is being executed. In the computing world, processes are formally defined by the operating system running them and so may differ in detail from one OS to another.

A single computer processor executes one or multiple instructions at a time one after the other. To allow users to run several programs at once, single-processor computer systems can perform time-sharing. Time-sharing allows processes to switch between being executed and waiting to be executed. In most cases this is done very rapidly,

Providing the illusion that several processes are executing 'at once'. This is known as concurrency or multiprogramming. Using more than one physical processor on a computer, permits true simultaneous execution of more than one stream of instructions from different processes, but time-sharing is still typically used to allow more than one process to run at a time. Concurrency is the term generally used to refer to several independent processes sharing a single processor; simultaneity is used to refer to several processes, each with their own processor. Different processes may share the same set of instructions in memory to save storage, but this is not known to any one process. Each execution of the same set of instructions is known as an instance— a completely separate instantiation of the program.

For security and reliability reasons most modern operating systems prevent direct communication between 'independent' processes, providing strictly mediated and controlled inter-process communication functionality.

No comments: