Fragmentierung (Informationstechnik)
In der Informationstechnik wird mit Fragmentierung die Zerstückelung eines Speicherraums bezeichnet. In Abgrenzung zur internen Fragmentierung (dem Verschnitt) wird sie manchmal auch als Externe Fragmentierung bezeichnet.
Beschreibung [Bearbeiten]
In vielen Softwaresystemen (RAM, Festplatten etc) wird Speicherplatz bei Bedarf angefordert, um Daten zu speichern und bereitzuhalten. Diese Anfrage wird bedient indem ein ausreichend großer Bereich ausgewählt und zur Verfügung gestellt wird, später wird dieser eventuell wieder zurückgegeben und steht neuen Anforderungen zur Verfügung.
D.h. insgesamt besteht ein Speicherraum aus Bereichen die gerade in Verwendung sind und Bereichen die unbenutzt sind. Liegen die verwendeten Bereiche nicht kontinuierlich hintereinander sondern existieren dazwischen noch Stücke freien Speichers (Fragmente), spricht man von Fragmentierung oder von fragmentierten Speicher.
Fragmentierung kann zum Fehlschlagen einer Speicheranforderung führen. Dies passiert dann wenn ein neu zu allozierender Bereich größer ist als das größte freie Fragment. Obwohl in diesem Szenario 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, kann die Anfrage nicht bedient werden. Es gibt also Speicherfragmente, die nicht nutzbar sind, obwohl sie nicht in Verwendung sind.
Beispiele [Bearbeiten]
Ein bekanntes Beispiel sind die Fragmentierungen von Dateisystemen welche zusätzlich noch einen Leistungsnachteil haben da bei Festplatten mehrere, verstreute Zugriffe mehr Zeit benötigen als ein sequentieller Zugriff.
Speicher in der Informationstechnik die von Fragmentierung betroffen sein können sind u.a.:
- logische Dateisysteme
- physikalische Festplatten
- physikalischer Arbeitsspeicher (RAM)
- virtueller Speicher (Virtuelle Speicherverwaltung)
Lösungsansätze [Bearbeiten]
- Erweiterung des verfügbaren Speicherraum.
- Eine Speichervirtualisierung (Virtuelle Speicherverwaltung) kaschiert eine Fragmentierung des physikalischen RAM effektiv.
- Jede Allokation kann nur einen einzigen Block gleicher Größe betreffen, was dann aber zu interner Fragmentierung führt: Paging.
- Defragmentierung, verwendet vor allem bei Dateisystemen auf Festplatten.
- Die Anzahl der nicht genutzten Fragmente wird durch Verschiebung der genutzten Fragmente unter Anpassung der Verweise reduziert: Garbage Collection.