The Program and the Process VAS
“Block Started by Symbol”
(uninitialized global data)
e.g., heap and sbuf go here.
Args/env strings copied in by kernel when the process is created.
Process text segment is initialized directly from program text section.
Process data segment(s) are initialized from idata and wdata sections.
Process stack and BSS (e.g., heap) segment(s) are zero-filled.
Process BSS segment may be expanded at runtime with a system call (e.g., Unix sbrk) called by the heap manager routines.
Text and idata segments may be write-protected.