Ceng 334 - Operating Systems
Each process has three segments (shown as one segment in the figure, but if hardware supports they can be separate):
Text : executable code (which is shared in the figure)
Data : variables, strings, arrays etc.
initialized data – variables which must be initialized to some value when program starts
Uninitialized data (BSS) – not initialized but has value 0 as default
Text is fixed in length, data and stack can grow and shrink