Куча памяти / стека является частью адресного пространства процесса, поэтому нет необходимости их сохранять. Да, их можно оставить там. У каждого процесса будет свой начальный адрес в физической памяти.
Процессы, по-видимому, используют, с их точки зрения пользователя, свой собственный полный диапазон памяти, начиная с 0x00000000 (некоторые операционные системы перехватывают обращения к первой странице 0x00000000-0x00000fff, чтобы перехватить нулевые указатели? - для них эффективный запуск равен 0x00001000). MMU перераспределяет память за кулисами с таблицами страниц и всем этим хорошим материалом. Так вот, как память может быть выделена для процесса пользовательского пространства, даже если процесс не знает и не заботится, за исключением общего объема памяти (верхнего предела), к которому он может получить доступ.
Однако указатель стека нужно сохранить, но это часть регистров.