Unterschied zwischen interner Fragmentierung und externer Fragmentierung

Unterschied zwischen interner Fragmentierung und externer Fragmentierung

Im Kontext eines Dateisystems ist die Fragmentierung eine ineffiziente Nutzung des Speicherplatzes zum Speichern des Inhalts einer einzelnen Datei an verschiedenen Stellen auf einer Festplatte und nicht in einer einzelnen zusammenhängenden Abfolge von Bits an einem Ort. Die Fragmentierung ist ein natürliches Phänomen, das physisch auf einer Festplatte oder manchmal auf einem Speichermodul auftritt, wenn die Daten auf dem Laufwerk nicht genau genug geschrieben sind.

Die Daten werden manchmal aus der Reihenfolge geschrieben, dh die Datenstücke werden aufgrund der häufigen Verwendung von Dateien nicht nebeneinander auf dem Laufwerk platziert. Diese Datenstücke werden als Fragmente bezeichnet. Irgendwann müsste das Betriebssystem auf das Dateisystem zugreifen, um festzustellen, wo sich die verschiedenen Fragmente auf dem Laufwerk befinden.

Wenn Sie beispielsweise ein neues Dokument erstellen, sagen wir eine Word -Datei. Die Datei scheint an einem Ort zu sein. Sie können die Datei öffnen, bearbeiten oder löschen - was auch immer Sie wollen. Alle Aktivitäten scheinen physisch auf der Fahrt zu sein, zumindest denken Sie, dass Sie das denken.

Die Festplatte kann darin bestehen, Dateien in einem Bereich des Geräts zu speichern, aber der Rest existiert buchstäblich woanders auf dem Speichergerät. In einfachen Worten bezieht sich die Fragmentierung auf den verschwendeten Speicherplatz im Dateisystem, sodass die Lücke zwischen den verschiedenen Teilen einer Datei entwickelt werden kann.

Die Fragmentierung tritt grundsätzlich im dynamischen Speicherzuweisungssystem auf, da sie zu viel Platz für die Datei reserviert hat, was zu offenen Bereichen um sie herum führt.

Was ist interne Fragmentierung?

Es bezieht sich irgendwie auf die Verteilung der festen Größe. Das System weist verschiedene Programme und Prozesse Speicher zu, indem sie sie in kleine Blöcke unterteilt, die vom Programm erforderlich sind. Manchmal wird jedoch mehr Speicher zugewiesen, als der Prozess benötigt wird, was letztendlich dazu führt.

Zum Beispiel kann der Speicher nur den Programmen in Blöcken zugeteilt werden, die durch 4, 8 oder 16 teilbar sind. Wenn ein Prozess 24 Bytes anfordert, wird normalerweise einen Block von 32 Bytes erhalten, die überschüssigen 8 Bytes bleiben unbenutzt. Somit liegt der nicht genutzte Speicher innerhalb eines bestimmten zugewiesenen Ortes und es ist so klein, dass ein neuer Prozess nicht zugewiesen werden kann, was zu Abfall führt. Dieser Abfall wird als interne Fragmentierung bezeichnet. Wahrscheinlich ist die einzige Möglichkeit, diese Art von Fragmentierung zu entfernen, durch dynamische Speicherzuweisung.

Was ist externe Fragmentierung?

Die Hauptspeicher bildet Löcher zwischen Teilen des zugewiesenen Speichers, die zu klein sind, um einen Prozess zu halten. Es ist der Nachteil der Speicherallokationsalgorithmen, wenn zusammenhängende Blöcke unbenutzter Räume keine neue Anfrage erfüllen können, da die Leerzeichen für große Speicheranwendungsanforderungen zu klein sind. In einfachen Worten erstellen die nicht kontinuierlichen Blöcke Löcher im Speicher, was zu einem ungenutzten Speicher aus den zugewiesenen Regionen führt, was bedeutet, dass sie nicht zusammen mit dem Hauptspeicher für größere Speicheraufgaben verwendet werden kann. Sie werden isoliert und können nicht vollständig aus dem Speicherplatz entfernt werden. Dies wird als externe Fragmentierung bezeichnet. Es kann durch Verdichtung entfernt werden, die den Inhalt des Speichers mischt, um alle freien Speicher zusammenzustellen.

Unterschied zwischen interner und externer Fragmentierung

  1. Grundlagen

Interne Fragmentierung:

Die interne Fragmentierung bezieht sich auf zusätzliche Räume, die Abfall haben, wenn mehr Speicher für einen Prozess zugeordnet wird als benötigt. Es tritt normalerweise auf, wenn Speicherblöcke fester Größen den Programmen oder Prozessen zugeordnet werden.

Externe Fragmentierung:

Externe Fragmentierung bezieht sich im Gegenteil auf die nicht verwendeten Räume, die zwischen den zusammenhängenden Speicherblöcken gebildet werden.

  1. Auftreten

Interne Fragmentierung:

Der freie Speicherplatz, der sich innerhalb des zugewiesenen Speicherblocks bildet, wenn der dem Prozess zugewiesene Speicher größer ist als der vom Prozess angeforderte Speicher wird als interne Fragmentierung bezeichnet. Der „interne“ bezieht sich auf die nicht verwendeten Bytes, die sich in den größeren Speicherblöcken befinden.

Externe Fragmentierung:

Wenn die Hauptspeicher Löcher bildet, die zu klein sind, um eine Anfrage zu erfüllen, wird dies als externe Fragmentierung bezeichnet.

  1. Grund

Interne Fragmentierung:

Der Hauptgrund, warum interne Fragmentierung auftritt .

Externe Fragmentierung:

Die externe Fragmentierung ist ein Phänomen, das auftritt, wenn das Gedächtnis in basierend auf der Größe verschiedener Prozesse in Blöcke in variabler Größe unterteilt ist.

  1. Lösung

Interne Fragmentierung:

Interne Fragmentierung ist ein natürliches Phänomen, das durch dynamische Speicherzuweisung eliminiert werden kann.

Externe Fragmentierung:

Die externe Fragmentierung kann dagegen durch Verdichtung, Paging und Segmentierung beseitigt werden.

Intern vs. Externe Fragmentierung: Vergleichstabelle

Zusammenfassung der internen und externen Fragmentierung

Sowohl die interne als auch die externe Fragmentierung sind natürliche Phänomene, die mit dem nicht verwendeten Speicherraum oder dem Gedächtnis verschwendet werden. Interne Fragmentierung littt unter ineffizienter Speicherzuweisung, die auftritt, wenn der Speicher, der einem Prozess zugeordnet ist. Nachdem der Vorgang aus dem physischen Speicher entfernt wurde, wird der freie Speicherplatz hier und da verteilt, und es können keine benachbarten Speicherblöcke gefunden werden, was zu einer externen Fragmentierung führt. Beide Phänomene können jedoch vermieden werden. Die interne Fragmentierung kann reduziert werden, indem es dynamisch Prozesse zuzuweisen, während die externe Fragmentierung am besten durch Verdichtung, Paging und Segmentierung vermieden werden kann.