? Interne Fragmentierung ist ein Zustand, in dem Teile des Arbeitsspeichers Ihres Computers unbrauchbar aufgrund Speicherzuweisung Verfahren. Obwohl der Speicher nicht tatsächlich im Einsatz ist , bleibt es für das System unzugänglich oder anderen Programmen . Die Größe des Speichers verloren interne Fragmentierung ist in der Regel klein, aber unter Zeiten starker Belastung , Gedächtnisverlust und können bis zu einer schlechten Systemleistung führen . Programme und Speicher
Wenn ein Programm Zugriffe Speicher aus dem System , das System die erste verfügbare Blöcke von Speicher reserviert , und behält sie, bis das Programm beendet . Wenn mehr als ein Programm gleichzeitig ausführen kann , ordnet das System einfach den nächsten verfügbaren Block , und dies auch weiterhin tun , bis es nicht mehr genügend Speicher verfügbar . Wenn einige Programme beenden , können sie hinterlassen Lücken des verfügbaren Speichers , aber diese Bereiche nicht verwendet werden können . Wenn ein Programm fordert , zum Beispiel, ist 100 Byte Speicher, aber der erste verfügbare Lücke nur 50 Byte, so dass der Raum ungenutzt bleiben und das System wird die erste verfügbare Block von 100 zusammenhängenden Bytes anstatt zu versuchen, Fragment des Programms Anfrage zugeordnet.
Memory Allocation
Während das System misst Speichers in Byte , kann es nicht zuordnen jedes einzelne Byte des Speichers. Aufgrund Speicher - Adressierung Protokollen kann das System nur beginnen Speicherzuweisung an bestimmten Adressen , meist ein Vielfaches von 4 , 8 oder 16 Byte. Zum Beispiel, wenn die Adressierung Protokolle ein Vielfaches von 16 Bytes erfordern , wäre eine Anforderung für 25 Byte Speicher effektiv aufnehmen 32 Byte. Das Programm würde seine 25 Bytes Speicher , aber den Raum aus dem Ende des Programms , bis das 32. Byte bleiben würde unbrauchbar durch das System. Darüber hinaus können einige Systeme Förderprogramme einen zusätzlichen Puffer von Speicher zu berücksichtigen variablen Bedingungen , und diese Erinnerung bleiben vorbehalten , auch wenn ungenutzt.
Fragmentation
Diese kleinen fragmentierten Speicherblöcke sind die Ursache für interne Fragmentierung . Da die verloren Bytes sind in der Regel relativ klein im Vergleich zu den Speicheranforderungen der Programme beteiligt sind, interne Fragmentierung führt selten zu großen Probleme des Systems außer in Situationen, in denen die Menge der installierten RAM ist kaum ausreichend für das System braucht, oder wenn RAM-Fehler plötzlich reduziert die Größe des Speichers auf einem ansonsten gesunden System .
Datenfragmentierung
Dateisysteme können auch leiden ihre eigene Art der internen Fragmentierung. Um Zugriff auf die Festplatte beschleunigen , verwenden Dateisysteme eine ähnliche Verteilung System , Reservierung Byteblöcke Cluster genannt . Die NTFS-System Windows verwendet , zum Beispiel, hat verstellbare Cluster Größen von 512 bis 4.096 Byte . Jede Datei, die kleiner als dieser Betrag , oder eine Datei, die über blutet in ein anderes Cluster weniger als die Gesamtgröße , wird das System zu überspringen den verbleibenden Platz bei der Vergabe von mehr Daten.