heap - memory-management - стек процесса - Что и где стопка и куча?

почему стек быстрее кучи / memory-management / stack / language-agnostic / dynamic-memory-allocation

Книги по языку программирования объясняют, что типы значений создаются в стеке , а ссылочные типы создаются в куче , без объяснения, что это за две вещи. Я не читал четкого объяснения этого. Я понимаю, что такое стек . Но,

RajeshKdev



Answer #1

Стек и куча традиционно расположены на противоположных концах виртуального адресного пространства процесса. Стек автоматически увеличивается при доступе до размера, установленного ядром (который можно настроить с помощью setrlimit(RLIMIT_STACK, ...) ). Куча увеличивается, когда распределитель памяти вызывает системный вызов brk() или sbrk() , отображая больше страниц физической памяти в виртуальное адресное пространство процесса.