BSS, DATA, TEXT, HEAP, STACK
BSS, block start segment, static memory, to store the global data which are not initialized.
DATA, data segment, static memory, to store the global initialized variables.
TEXT, code segment to store the program code.
HEAP, dynamic memory segment to store the dynamic allocated memory, like malloc, etc.
STACK, dynamic memory segment to store the auto allocated local variables, FIFO.