Cos'è la frammentazione interna?


La frammentazione interna è un problema di memoria che si verifica quando l'allocatore lascia spazio aggiuntivo vuoto all'interno di un blocco di memoria allocata. Ad esempio, supponiamo che un allocatore possa fornire memoria solo in blocchi di 4 bytes. Se un programma richiede 29 byte di memoria, riceverà effettivamente un pezzo di 32 byte. Poiché il programma utilizza solo 29 dei 32 byte disponibili, i 3 byte di memoria in eccesso vanno sprecati.

Nel corso del tempo, piccole porzioni di memoria inutilizzata si accumulano e creano grandi quantità di memoria che l'allocatore non può utilizzare. I due modi più efficaci per prevenire la frammentazione interna sono allocare la memoria in modo dinamico o utilizzare partizioni di dimensioni diverse.