| 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