Возможный дубликат:
Что и где это стек и куча
Моя установка Ubuntu имеет ограничение на размер стека по умолчанию в 8 МБ. Но мне любопытно, почему нам нужно ограничивать размер стека пользовательской программы. Эта же программа может использовать все свое адресное пространство размером 4 ГБ (для 32-разрядной программы) через malloc / mmap и т. Д. Итак, зачем нам ограничение на размер стека? Почему стек не может расти, пока почти не встретится с кучей?