In Unix operating systems how are sizes between low and high address of the following picture chosen? I’m assuming this has something to do with Virtual Memory management and allocation of pages.
I’m curious because I recall working with one OS and recursive functions can run out of stack space, whereas the OS provides options to increase stack space for a process. For heap I understand that’s malloc requesting memory which I’m guessing somehow increases heap size dynamically after text, and data are loaded.
Ref:link