Process table
<operating system, process> 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.