Subscribe by Email

Saturday, January 9, 2010

Process Management

A process is a sequential program in execution. The components of a process are the following:
* The object program to be executed.
* The data on which the program will execute.
* Resources required by the program.
* The status of the process's execution.

Process management is an integral part of any modern day operating system. The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization among processes. To meet these requirements, the OS must maintain a data structure for each process, which describes the state and resource ownership of that process and which enables the OS to exert control over each process.

An operating system kernel that allows multi-tasking needs processes to have certain states. Names for these states are not standardized, but they have similar functionality.
- Executing: the process is currently running and has control of a CPU.
- Waiting: the process is currently able to run, but must wait until a CPU becomes available.
- Blocked: the process is currently waiting on I/O, either for input to arrive or output to be sent.
- Suspended: the process is currently able to run, but for some reason the OS has not placed the process on the ready queue.
- Ready: the process is in memory, will execute given CPU time.

No comments:

Facebook activity