Для чего это стоит, ALGOL68, который предшествовал C, имел фактического ключевого словаheap
, который был использован для выделения места для переменного с «глобальной кучи», в отличие от loc
выделившего его в стек.
Но я подозреваю, что использование может быть просто потому, что нет реальной структуры. Под этим я подразумеваю, что вам не гарантировано получить блок наилучшего соответствия или следующий блок в памяти, скорее вы возьмете то, что вам дано, в зависимости от прихотей стратегии распределения.
Как и большинство имен, это, вероятно, думал о какой-кодером (в данном случае, я думаю, Деннис Ритчи, Кен Томпсон и Брайан Керниган, поэтому на самом деле не просто некоторые кодер), который только что необходимое имя ,
Я часто слышал об этом, иногда называемом ареной (сообщение об ошибке от многих лун назад, говорящее, что «память арена повреждена»). Это воспитывает изображения кусков памяти, делающих битву в гладиаторском стиле внутри вашего адресного пространства (a la the movie Tron).
В нижней строке это просто название области памяти, вы можете просто назвать его брр-пулом или sbrk-пулом (после звонков, чтобы изменить его) или любым из дюжины других имен.
Я помню, когда мы собирали пакеты протоколов связи даже до того, как 7-слойная модель OSI была чёрным взглядом, мы использовали многоуровневый подход и должны были придумывать имена на каждом уровне для блоков.
Мы использовали блоки, сегменты, куски, секции и различные другие названия, все, что просто указывало на предмет фиксированной длины. Может быть, что куча имели сходное происхождение:
"Hey, Bob, what's a good name for a data structure that just doles out random bits of memory from a big area?"
"How about 'steaming pile'?"
"Thanks, Bob, I'll just opt for 'heap', if that's okay with you. By the way, how are things going with the divorce?"
Не принимайте «кучу» буквально. Деревья имеют один корень, но не в реальной жизни. Очереди могут извлекаться только с концов, но в реальной жизни люди могут покидать очереди посередине, когда они устают ждать. Ненасытные люди также могут вдаваться. – paxdiablo
Свободная память «куча» не рушится, хотя (не так ли?). Он может фрагментироваться, поскольку память распределяется и освобождается. –
Связанные записи [здесь] (https://stackoverflow.com/q/1699057/465053) и [здесь] (https: // stackoverflow.ком/кв/756861/465053). – RBT