Main Page | See live article | Alphabetical index

Computer process

A computer process is, roughly speaking, a task being run by a computer, often simultaneously with many other tasks. Many processes may exist simultaneously but they must take turns on the CPU (unless there are multiple CPU's available).

Processes are often called tasks in embedded operating systems. The sense of 'process' is 'something that takes up time', as opposed to 'memory', which is 'something that takes up space'. Kaare Christian noted it was as if 'processes have "life"'.

Processes are typically managed by the operating system, which keeps them separated and allocates the resources they need so that they are less likely to interfere with each other and cause system failures. The operating system may also provide mechanisms for inter-process communication to enable processes to interact in safe and predictable ways.

In general, a process consists of:

The last item, processor state, is associated with each of the process's threads in operating systems that support threads.

At this level of programming, the registers are the least available resource, and the program values must be loaded from memory into the registers, which are first re-set, and then loaded. These steps occur at the clock rate of the CPU and depend on the processor architecture.

If a task is suspended, then it is eligible for swapping to disk, similarly to residence in virtual memory, where blocks of memory values are really on disk and not in physical memory. The block sizes depend on the operating system.

See Also