I am exploring the lower level workings of the system, and was wondering how malloc
determines the start address of the heap. Is the heap at a constant offset or is there a call of some sort to get the start address? Does the stack affect the start address of the heap?
Traditionally, the heap started just above the text section and grew up; stack frames didn't affect start address at all as they grow down towards the unmapped 0 page. However, it's more common these days for
malloc()
usually just calls mmap()
to get an address anywhere in the virtual address space