O que é uma lista gratuita?
A free list is a data structure that holds the addresses of computer memory locations that are available for use by a running program when using dynamic memory allocation. The list becomes necessary when a program must allocate space from an area of free memory called the heap. The implementation of a free list can be a simple linked list or could be a more complex data structure such as a sort tree. Most high-level computer programming languages automatically handle the free list, removing the need for manual management.
Quando um programa exige espaço para armazenar informações durante a execução do programa, ele deve solicitar uma quantidade específica de memória do sistema operacional subjacente. Os locais dos blocos de memória que podem ser utilizados são armazenados na lista gratuita. Para que a alocação seja bem -sucedida, a quantidade de memória solicitada precisa estar disponível em um ou maisA localização é retornada, esse elemento da lista é removido.
A forma mais simples de gerenciamento de memória é chamada de primeiro sistema de ajuste. Este sistema mantém uma única lista de locais de memória livre. Quando uma solicitação de memória é enviada, a lista é atravessada e o primeiro bloco grande o suficiente é retornado. Se o bloco é mais que o tamanho do tamanho solicitado, a metade da lista não usada é adicionada para a lista.áreas de memória fragmentada do Ving que nunca podem ser devolvidas à lista.
Uma forma diferente de gerenciamento de memória é chamada de sistema de alocação de amigos. Ao contrário do primeiro sistema de ajuste, a alocação de amigos mantém várias listas gratuitas, cada uma com blocos abertos de apenas um tamanho específico. Isso significa que, quando uma solicitação de alocação é recebida, a lista é que não há blocos livres que sejam os blocos que são mais altos que são os melhores blocos que são mais altos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores que são os que não serem os melhores que são os que não serem os melhores que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos que são os melhores blocos. Requisitos.
O termo "lista livre" pode se referir a uma única lista vinculada de endereços de memória, ou pode se referir a um tipo muito mais complexo de estrutura de dados. Diferentes tipos de espécie de árvores, se mantidos simples e equilibrados, podem ajudar a aumentar a velocidade de encontrar blocos de memória aberta à custa de complicar o código -fonte. Uma lista vinculada pode ser mais lenta que uma especificaçãoÁrvore de classificação Alida, mas cria código de programação que é muito mais fácil de ler, depurar e modificar.
Algumas linguagens de programação e sistemas operacionais fazem uso de um mecanismo especial chamado Coleção de Garbage. Este é um processo que pode ajudar a levar as diferentes entradas em uma lista gratuita e consolidar os espaços livres para que sejam contíguos. Isso tem o efeito de impedir a fragmentação e permitir blocos maiores de memória a ser alocada.