Process Segments |
Text/Instruction Segment |
User Data Segment |
argc
,
argv[ ]
, and
env[ ]
.
It is created by the startup routine (crt*.o
) and
grows/shrinks with function calls/returns.
System Data Segment |
init
which handles login and
is the ancestor of most processes.
PID 0 is the scheduler and PID 2 is the memory pager.
Despite appearances PID 0 and PID 2 are usually the same process,
the kernel, however, most modern kernels will have many separate
threads of control running in it.
Some additional data maintained in the kernel includes:
open( )
call so the same physical
file can be appear several times in this table.
The entry includes:
exec*( )
and
fork( )
.
It exists solely on the stack.
Note this is a guide only and the actual implementation can vary. For example, open file tables and file descriptor tables need not be implemented as arrays.
Last update: 2001 January 1