¿Qué es una lista gratuita?
Una lista gratuita es una estructura de datos que contiene las direcciones de las ubicaciones de memoria de la computadora que están disponibles para su uso por un programa en ejecución cuando se usa la asignación de memoria dinámica. La lista se vuelve necesaria cuando un programa debe asignar espacio desde un área de memoria libre llamada Heap. La implementación de una lista gratuita de una lista gratuita puede ser una lista simple vinculada o podría ser una estructura de datos más compleja como un árbol de clasificación. La mayoría de los niveles de nivel de alto nivel, programas de informes, los lenguajes de programación de la lista gratuita, la lista de gestión de la necesidad de la mejor gestión.
Cuando un programa requiere espacio para almacenar información durante la ejecución del programa, debe solicitar una cantidad específica de memoria del sistema operativo subyacente. Las ubicaciones de los bloques de memoria que se pueden utilizar se almacenan en la lista gratuita. Para que la asignación sea exitosa, la cantidad de memoria solicitada debe estar disponible en uno o más de estos bloques. Cuando un punto de memoria apropiadoSe devuelve la ubicación, ese elemento de la lista se elimina.
Después de que se realice un programa utilizando la memoria, puede desactivarlo. Esto implica pasar el puntero al bloque de memoria nuevamente a la lista gratuita, donde estará disponible la próxima vez que se intente una asignación.
La forma más simple de gestión de la memoria se llama el primer sistema de ajuste. Este sistema mantiene una lista única de ubicaciones de memoria libre. Cuando se envía una solicitud de memoria, la lista se atraviesa y el primer bloque que es lo suficientemente grande se devuelve. Si el bloque es más del doble del tamaño solicitado, se reduce a la mitad y la mitad no utilizada se agrega a la lista. Este método es un codificación simple para el riesgo de HA de HA de HA de HA de HA de HA de HA de HA de HA de HA de HA de HA,Ving áreas de memoria fragmentadas que nunca podrían ser devueltas a la lista.
Una forma diferente de gestión de la memoria se llama sistema de asignación de amigos. A diferencia del primer sistema de ajuste, Buddy Asignation mantiene varias listas gratuitas, cada una con bloques abiertos de un solo tamaño particular. Esto significa que cuando una solicitud de asignación se recibe, la lista que tiene bloques que son lo suficientemente grandes como para llenar la solicitud y una ubicación abierta se devuelve. requisitos.
El término "lista gratuita" puede referirse a una única lista vinculada de direcciones de memoria, o puede referirse a un tipo de estructura de datos mucho más complejo. Los diferentes tipos de árboles de clasificación, si se mantienen simples y equilibrados, pueden ayudar a aumentar la velocidad de encontrar bloques de memoria abiertos a expensas de complicar el código fuente. Una lista vinculada puede ser más lenta que una especificación de una especificaciónAlized Sort Tree pero crea un código de programación que es mucho más fácil de leer, depurar y modificar.
Algunos lenguajes de programación y sistemas operativos hacen uso de un mecanismo especial llamado recolección de basura. Este es un proceso que puede ayudar a tomar las diferentes entradas en una lista gratuita y consolidar los espacios libres para que sean contiguos. Esto tiene el efecto de prevenir la fragmentación y permitir que se asignen bloques de memoria más grandes.
.