¿Por qué la memoria principal para la asignación de objetos se llama 'montón'?

10

¿Alguien tiene una idea de por qué el área de la memoria principal donde se asignan los objetos se conoce como el montón. Puedo entender la razón de ser de la pila LIFO, pero me gustaría saber cuál es la razón para el nombre de "montón".

cobie
fuente
2
Tengo cero antecedentes o evidencia para respaldar esto, pero apostaría a que la pila vino primero, y en inglés un montón es básicamente la antítesis de una pila, así que cuando apareció algo que no era una pila y no tenía garantías estructurales, El montón simplemente vino a la mente para un grupo de personas y se extendió como el lenguaje tiende a ...
Jimmy Hoffa
2
@JimmyHoffa: Probablemente no estés lejos. En los viejos tiempos (que para mí era alrededor del 8086), el montón y la pila crecieron en direcciones opuestas entre sí, la pila creció desde la parte inferior (extremo de la memoria) y el montón desde la parte superior (principio de la memoria del usuario ) abajo.
Robert Harvey
44
@DeadMG: Es por eso que tenemos este voto para cerrar cosas, y banderas de moderador si no tienes suficiente representante para votar para cerrar. De lo contrario, puede vincular a un duplicado aquí en los comentarios. En cualquier caso, hice una búsqueda y no pude encontrar ningún engañado.
Robert Harvey
1
A la votación cerrada: esta pregunta es sobre el tema. Consulte esta reciente pregunta Meta para obtener más detalles. Irónicamente, esa meta pregunta figuraba en el listado de mi boletín comunitario para esta pregunta.
2
El dup no está en P.SE, sino más bien SO - stackoverflow.com/questions/660855/… y stackoverflow.com/questions/1699057/…

Respuestas:

7

De la información encontrada en StackOverflow: ¿cuál es el origen del término "montón" para la tienda gratuita? y ¿Por qué dos conceptos diferentes se denominan "montón"?

Esta información al menos se remonta a Knuth en 1975 haciendo referencia a otros autores (sin nombre):

Varios autores comenzaron alrededor de 1975 para llamar al grupo de memoria disponible un "montón". Pero en la presente serie de libros, usaremos esa palabra solo en su sentido más tradicional relacionado con las colas prioritarias. (El arte de la programación de computadoras - Algoritmos fundamentales, 3ª ed., P. 435)

También se menciona la discusión de Wijngaarden sobre Algol a principios de la década de 1970 que se refiere al grupo de memoria disponible como un montón ( heapes una palabra reservada en Algol que se define en lugares como "asignar variable a un espacio libre del montón global". - Algol68 fechas desde 1968).

La implementación del montón ALGOL 68 de 1970 puede ser útil para rastrear algunos aspectos del origen de las palabras, aunque mucho si está detrás de un muro de pago.

Comunidad
fuente