A
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.
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 will also provide mechanisms for
inter-process communication to enable processes to interact
in safe and predictable ways.
In general, a process consists of:
- Memory, typically a region of virtual memory.
- Operating system resources that are allocated to the process, such as file descriptors (Unix terminology) or handles (Windows).
- Security attributes, such as the process owner and the process's set of permissions.
- Processor state, such as the content of registers. The state is stored in the actual registers when the process is executing, and in memory otherwise.
The last item, processor state, is associated with each of the process's threads in operating systems that support threads.
See Also
All Wikipedia text
is available under the
terms of the GNU Free Documentation License