Science Fair Project Encyclopedia
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'.
In the former case, the operating system keeps processes 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, an operating system process consists of:
- Memory, (typically a region of virtual memory for suspended processes) which contains executable code or task-specific data.
- 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, physical memory addresses, etc.. The state is stored in the actual registers when the process is executing, and in memory otherwise.
The last item, the 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 lowest-level 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.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details