Montón

En ciertos lenguajes de programación, incluidos C y Pascal, un montón es un área de almacenamiento principal (memoria) de la computadora reservada previamente que un proceso de programa puede usar para almacenar datos en una cantidad variable que no se conocerá hasta que el programa se esté ejecutando. Por ejemplo, un programa puede aceptar diferentes cantidades de entrada de uno o más usuarios para su procesamiento y luego realizar el procesamiento de todos los datos de entrada a la vez. Tener una cierta cantidad de almacenamiento dinámico ya obtenida del sistema operativo hace que sea más fácil para el proceso administrar el almacenamiento y, en general, es más rápido que pedirle al sistema operativo que lo almacene cada vez que lo necesita. El proceso gestiona su montón asignado solicitando un "fragmento" del montón (llamado bloque de pila ) cuando sea necesario, devolviendo los bloques cuando ya no se necesiten y haciendo "recolección de basura" ocasional, lo que hace que los bloques estén disponibles que ya no se usan y también reorganiza el espacio disponible en el montón para que no se desperdicie en pequeños bloques sin usar piezas.

El término aparentemente está inspirado en otro término, pila. Una pila es similar a un montón, excepto que los bloques se sacan del almacenamiento en un orden determinado y se devuelven de la misma manera. En Pascal, un submontaje es una parte de un montón que se trata como una pila.