|(operating system, process)||process table - A table containing all of the
information that must be saved when the CPU switches from
running one process to another in a multitasking system.|
The information in the process table allows the suspended process to be restarted at a later time as if it had never been stopped. Every process has an entry in the table. These entries are known as process control blocks and contain the following information:
process state - information needed so that the process can be loaded into memory and run, such as the program counter, the stack pointer, and the values of registers.
memory state - details of the memory allocation such as pointers to the various memory areas used by the program
resource state - information regarding the status of files being used by the process such as user ID.
Accounting and scheduling information.
An example of a UNIX process table is shown below.
SLOT ST PID PGRP UID PRI CPU EVENT NAME FLAGS 0 s 0 0 0 95 0 runout sched load sys 1 s 1 0 0 66 1 u init load 2 s 2 0 0 95 0 10bbdc vhand load sys
SLOT is the entry number of the process.
ST shows whether the process is paused or sleeping (s), ready to run (r), or running on a CPU (o).
PID is the process ID.
PGRP is the process Group.
UID is the user ID.
PRI is the priority of the process from 127 (highest) to 0 (lowest).
EVENT is the event on which a process is paused or sleeping.
NAME is the name of the process.
FLAGS are the process flags.
A process that has died but still has an entry in the process table is called a zombie process.