- Externe Fragmentierung
-
Mit externer Fragmentierung ist die Einteilung eines Speicherbereiches
- in Fragmente, die genutzt sind, und
- in Fragmente, die nicht genutzt sind aber allozierbar sind,
gemeint.
Externe Fragmentierung kann zu ineffizienter Speichernutzung führen, wenn ein neu zu allozierender Bereich größer ist als das größte nicht genutzte Fragment, obwohl die Summe der Größen aller ungenutzten Fragmente mindestens so groß ist wie der zu allozierende Bereich (also insgesamt genug Speicher zur Verfügung steht, jedoch nicht in einem Stück).
Lösungsansätze
- Der verfügbare Speicher muss erweitert werden.
- Jede Allokation kann nur einen einzigen Block gleicher Größe betreffen, was dann aber zu interner Fragmentierung führt: Paging
- Die Anzahl der nicht genutzten Fragmente wird durch Verschiebung der genutzten Fragmente unter Anpassung der Verweise reduziert: Garbage Collection
Wikimedia Foundation.