Чому основну пам’ять для виділення об’єктів називають «купою»?


10

Хтось має уявлення, чому область основної пам’яті, де виділяються об’єкти, називається купою. Я можу зрозуміти обґрунтування цього стека LIFO, але хотів би знати, що це обґрунтування для назви "купи".


2
У мене є нульова історія чи докази, які підтверджують це, але я б став би на те, щоб стек з'явився першим, і англійською мовою купу в основному є антитезою стека, тому коли щось з'явилося, це не було стеком і не було структурних гарантій, Купі просто прийшло в голову деяким наборам людей, і вона поширилася так, як прагне мова ..
Джиммі Хоффа

2
@JimmyHoffa: Ви, мабуть, не за горами. У старі часи (що для мене було близько 8086) купа і стек росли в протилежних напрямках один до одного, стек росте знизу (кінець пам'яті) вгору, а купа росте зверху (початок пам'яті користувача) ) вниз.
Роберт Харві

4
@DeadMG: Ось чому ми маємо цей голос, щоб закрити непросто, і модераторні прапори, якщо у вас недостатньо представників, щоб проголосувати, щоб закрити. Якщо цього не зробити, ви можете посилання на дублікат тут у коментарях. У будь-якому випадку, я здійснив обшук, і не зміг знайти жодної дури.
Роберт Харві

1
До закритого голосування - це питання на тему. Будь ласка, перегляньте це нещодавнє мета-питання для отримання більш детальної інформації. Як не дивно, це мета питання було вказане в моєму списку бюлетенів спільноти для цього питання.

Відповіді:


7

З інформації, знайденої в StackOverflow - Яке походження терміна "купа" для безкоштовного магазину? і чому два різних поняття обидва називають "купою"?

Ця інформація принаймні датується Кнутом у 1975 році з посиланням на інших (безіменних) авторів:

Кілька авторів почали близько 1975 року називати пул доступної пам’яті «купою». Але в цій серії книг ми будемо використовувати це слово лише в його більш традиційному розумінні, пов’язаному з черговістю пріоритетів. (Мистецтво комп’ютерного програмування - фундаментальні алгоритми, 3-е видання, стор. 435)

Також згадується дискусія Wijngaarden про Algol на початку 1970-х років, посилаючись на наявний пул пам’яті як купу ( heapце застережене слово в Algol, яке визначається місцями як «виділити змінну деякий вільний простір з глобальної купи». - Algol68 дати з 1968 р.).

Реалізація купи ALGOL 68 з 1970 року може бути корисною для відстеження деяких аспектів походження слова, хоч і багато, якщо воно стоїть за платною стіною.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.