Cos'è un elenco gratuito?

Un elenco gratuito è una struttura di dati che contiene gli indirizzi delle posizioni della memoria del computer disponibili per l'uso da un programma in esecuzione quando si utilizzano l'allocazione della memoria dinamica. L'elenco diventa necessario quando un programma deve allocare lo spazio da un'area di memoria libera chiamata Heap. L'implementazione di un elenco gratuito può essere un elenco di manutenzione di una semplice gestione manuale.

Quando un programma richiede spazio per archiviare le informazioni durante l'esecuzione del programma, deve richiedere una quantità specifica di memoria dal sistema operativo sottostante. Le posizioni dei blocchi di memoria che possono essere utilizzati sono archiviati nell'elenco libero.viene restituita la posizione, quell'elemento dell'elenco viene rimosso.

Dopo che un programma è stato eseguito usando la memoria, può de-allocarla. Ciò implica il passaggio del puntatore al blocco di memoria nell'elenco libero, dove sarà disponibile la prossima volta che si tenta un'allocazione.

La forma più semplice di gestione della memoria si chiama First Fit System. Questo sistema mantiene un singolo elenco di posizioni di memoria libera. Quando viene inviata una richiesta di memoria, l'elenco viene attraversato e il primo blocco che è abbastanza grande viene restituito. Se il blocco è più del doppio della dimensione richiestaVing aree di memoria frammentata che non potrebbero mai essere restituite all'elenco.

Una diversa forma di gestione della memoria è chiamata sistema di allocazione di Buddy. A differenza del primo sistema di adattamento, l'allocazione del Buddy mantiene diversi elenchi gratuiti, ognuno che detiene blocchi aperti di una sola dimensione particolare. Ciò significa che quando viene ricevuta una richiesta di allocazione, l'elenco che contiene blocchi più ampi che sono abbastanza grandi da riempire sufficiente per riempire la richiesta e si è semplicemente spezzata in due. Requisiti.

Il termine "elenco libero" può fare riferimento a un singolo elenco collegato di indirizzi di memoria, oppure può riferirsi a un tipo molto più complesso di struttura dei dati. Diversi tipi di ordinamento, se mantenuti semplici ed equilibrati, possono aiutare ad aumentare la velocità di trovare blocchi di memoria aperta a spese di complicando il codice sorgente. Un elenco collegato può essere più lento rispetto a una specificaAlbero di ordinamento alizzato ma crea un codice di programmazione che è molto più facile da leggere, debug e modifica.

Alcuni linguaggi di programmazione e sistemi operativi utilizzano un meccanismo speciale chiamato raccolta della spazza

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?