Interne Fragmentierung

aus Wikipedia, der freien Enzyklopädie

Als interne Fragmentierung oder Verschnitt – bei Festplatten Slack Space[1] – wird in der Informatik der Effekt bezeichnet, dass manche Speicherblöcke bei der Aufteilung von Daten nur zum Teil gefüllt werden können.

Ein weiterer Effekt, der zu ineffizienter Speicherverwendung führt, ist die externe Fragmentierung.

Beschreibung

Zur Speicherverwaltung benutzen Computersysteme verschiedene Methoden ihn einzuteilen. Dies bezieht sich auf flüchtigen (z. B. Arbeitsspeicher) wie auf persistenten Speicher (z. B. Festplatten). Alle Methoden nutzen Segmentierung, Seiteneinteilung oder eine Kombination aus beiden, um den Speicher möglichst effizient einzuteilen.

Bei der Seiteneinteilung wird der Speicher in Seiten fester Größe eingeteilt. Sobald ein Programm Speicher beantragt (alloziert), werden so viele Seiten reserviert, dass die Summe ihres Speichers größer oder gleich dem beantragten Speicher ist. Ist der reservierte Speicher größer als der beantragte, so bezeichnet man diese Differenz als interne Fragmentierung: dieser Verschnitt liegt innerhalb des reservierten Bereiches, typischerweise am Ende.

Typische, von interner Fragmentierung betroffene Speicherressourcen in der Informationstechnik sind u. a.:

  • Arbeitsspeicherallokierung vom Betriebssystem, feste Blockgrößen
  • Dateierstellung, Dateisysteme und Festplatten besitzen feste, einige kByte große Cluster
  • IP-Adressen können ebenfalls nur in Blöcken bestimmter Größe reserviert werden (deswegen sind viele IPs zwar reserviert, aber nicht in aktiver Verwendung). Dieser Effekt trägt zum IPv4-Adressenmangel bei.
  • Englischer Text wird oft mit einem Byte pro Buchstabe gespeichert, obwohl in ASCII-Zeichenkodierung das höchstwertigste Bit jedes Bytes 0 ist. Eine Reservierung von 7 Bit wäre funktional ausreichend, also existiert ein Verschnitt von einem Bit pro Buchstabe.

Beispiel

Das Betriebssystem verwaltet den Arbeitsspeicher in Seiten mit einer Größe von 4 Kilobyte. Ein Programm beantragt 5 kByte; daraufhin reserviert das Betriebssystem 2 Seiten (= 8 kByte). Die interne Fragmentierung beträgt dann (8 - 5) kByte = 3 kByte.

Einzelnachweise