Согласно руководству для программистов Linux:
brk() и sbrk() меняют место остановки программы, что определяет конец сегмента данных процесса.
Что означает сегмент данных здесь? Это просто сегмент данных или данные, BSS и куча вместе взятые?
Согласно вики:
Иногда данные, BSS и области кучи вместе называются "сегментом данных".
Я не вижу причин для изменения размера только сегмента данных. Если это данные, BSS и куча вместе, то это имеет смысл, поскольку куча получит больше места.
Что подводит меня ко второму вопросу. Во всех статьях, которые я до сих пор читал, автор говорит, что куча растет вверх, а стек - вниз. Но они не объясняют, что происходит, когда куча занимает все пространство между кучей и стеком?