Zitat:
Es muss nur in System auftreten, die keine Relokalisierung des Speichers ermöglichen.
Falsch, den es hat nicht zwangsläufig mit der
Re-allokation von Speicher zu tuen sondern eine Fragmentierung kann schon auftreten bei simplen Allokationen. Fragmentierungen sind quasi "Löcher" im verwendbaren Speicherbereich die deshalb auftreten weil ihre Größe in Bytes zu keinen späteren Allozierungen passt. Wenn wir also nur einmal ein Object mit 10 Bytes allozieren, danach immer Objekte mit mehr als 10 Bytes und dann dieses 1 Objekt mit 10 Bytes freigeben dann besteht die Wahrscheinlichkeit das später diese 10 Bytes niemals wiederverwendet werden wenn
a.) kein weiteres Objekt a <= 10 Bytes alloziert wird
b.) die Objekte vor und nach dieser 10 Bytes Lücke niemals mehr freigegeben werden und somit sich diese 10 Bytes Lücke nicht durch Zusammenfassung freier Blöcke vergrößern kann
Heutige Speichermanager sind aber sehr effizient und dieses Problem ist vernachlässigenbar, bzw. wird meiner Meinung nach aus der Perspektive der Optimierungsmöglichkeiten überbewertet.
Gruß hagen