7.5 The Segments

The data segment is allocated as one single area of physical memory but consists of three distinct parts:

(a)

a “per process data area”;

(b)

a data area for the user program. This may be further divided into areas for program text, initialised data and uninitialised data;

(c)

a stack for the user program.

The size of (a) is always “USIZE” blocks. The sizes of (b) and (c) are given in blocks by “u.u_dsize” and “u.u_ssize”. (It may be noted in passing that the latter two may change during the life of a process.)

A separate text segment containing only pure text is allocated as one single area of physical memory. The internal structure of the segment is not important here.