En informática , la fusión es una parte de la gestión de la memoria en la que se fusionan dos bloques libres adyacentes de la memoria de la computadora .
Cuando un programa ya no necesita ciertos bloques de memoria, estos bloques de memoria se pueden liberar . Sin la fusión, estos bloques de memoria permanecen separados entre sí en su tamaño solicitado original, incluso si están uno al lado del otro. Si una solicitud posterior de memoria especifica un tamaño de memoria que no se puede cumplir con un número entero de estos bloques liberados (potencialmente de tamaño desigual), estos bloques vecinos de memoria liberada no se pueden asignar para esta solicitud. La fusión alivia este problema al configurar los bloques vecinos de memoria liberada para que sean contiguos sin límites, de modo que se pueda asignar parte o la totalidad de ellos para la solicitud.
Entre otras técnicas, la coalescencia se utiliza para reducir la fragmentación externa , pero no es totalmente eficaz. La coalescencia se puede realizar tan pronto como se liberan los bloques, o se puede posponer hasta algún tiempo después (lo que se conoce como coalescencia diferida), o puede no realizarse en absoluto.
La coalescencia y técnicas relacionadas, como la compactación de pilas, se pueden utilizar en la recolección de basura . [1]
Véase también
Referencias
- ^ Megida, Dillion. "¿Qué es el operador de fusión nula en JavaScript y para qué sirve?". Freecodecamp .
Enlaces externos
- Referencia de gestión de memoria, guía para principiantes Asignación