5 Unterschied zwischen interner und externer Fragmentierung (mit Beispielen)

Was ist interne und externe Fragmentierung?

Interne Fragmentierung liegt vor, wenn einem Prozess mehr Speicher als erforderlich zugewiesen wird und daher nur wenig Speicherplatz ungenutzt bleibt. Zum Beispiel:

Wenn Prozess 1 mit einer Größe von 10 KB einem Block von 12 KB zugewiesen wird, bleiben 2 KB Speicherplatz ungenutzt. Wenn nun Prozess 2 mit einer Größe von 10 KB einem 0 KB-Block zugewiesen wird, bleibt kein Speicherplatz ungenutzt. Wenn Prozess 3 mit einer Größe von 12 KB ein 13 KB-Block zugewiesen wird, bleibt 1 KB ungenutzt.  In diesem Beispiel wird 2 Prozessen mehr Speicherplatz zugewiesen als erforderlich, und dieser ungenutzte Speicherplatz ist so klein, um einen neuen Prozess zu speichern, und wird verschwendet. Dies wird als interne Fragmentierung bezeichnet.

Externe Fragmentierung tritt auf, wenn ein dynamischer Speicherzuweisungsalgorithmus etwas Speicher zuweist und ein kleiner Teil übrig bleibt, der nicht effektiv genutzt werden kann. Wenn zu viel externe Fragmentierung auftritt, wird die Menge des nutzbaren Speichers drastisch reduziert. Der gesamte Speicherplatz ist vorhanden, um eine Anforderung zu erfüllen, aber er ist nicht zusammenhängend. Externe fragmentierte Blöcke stehen für die Zuweisung zur Verfügung, sind jedoch möglicherweise zu klein, um von Nutzen zu sein.

Hauptunterschied

  1. Externe Fragmentierung tritt auf, weil nach dem Laden und Entladen von Programmen oder Dateien für einige Zeit nicht genügend angrenzender Speicherplatz vorhanden ist, da dann der gesamte freie Speicherplatz hier und da verteilt wird. Andererseits tritt eine interne Fragmentierung auf, wenn eine Partition mit fester Größe einem Programm/einer Datei mit einer geringeren Größe als die Partition zugewiesen wird, wodurch der Rest des Speicherplatzes in dieser Partition unbrauchbar wird. 
  2. Nach der Ausführung von Prozessen, wenn sie aus dem Speicher ausgelagert werden und andere kleinere Prozesse sie ersetzen, werden viele kleine nicht ansteckende (benachbarte) Blöcke von ungenutzten Räumen gebildet, die eine neue Anfrage bedienen können, wenn sie alle zusammengestellt sind, aber da sie es nicht sind nebeneinander kann eine neue Anfrage nicht bedient werden, und dies wird als externe Fragmentierung bezeichnet . Wenn einem Prozess mehr Speicher als benötigt zugewiesen wird, bleibt wenig Speicherplatz ungenutzt, was als interne Fragmentierung bezeichnet wird . Eine interne Fragmentierung tritt auf, wenn eine Speicherzuweisungstechnik fester Größe verwendet wird, wohingegen eine externe Fragmentierung auftritt, wenn eine dynamische Speicherzuweisungstechnik verwendet wird.
  3. Eine interne Fragmentierung kann verhindert werden, indem mehrere Partitionen verwendet werden und ein Programm auf der Grundlage der besten Anpassung zugewiesen wird. Im Gegenteil, externe Fragmentierung kann durch Methoden wie Paging und Segmentierung verhindert werden, wodurch ein logisch zusammenhängender virtueller Speicherplatz gegeben wird, während in Wirklichkeit die Dateien/Programme in Teile zerlegt und hier und da platziert werden.
  4.  Bei der internen Fragmentierung kann bei Blöcken mit fester Größe der verbleibende Platz in einem Block nicht für andere Prozesse verwendet werden, während bei der externen Fragmentierung der entfernte Prozess einen Platz oder ein Loch hinterlässt und der Speicher als eine Ansammlung kleiner Löcher und nicht als ein Stück erscheint.

LESEN SIE WEITER: Unterschied zwischen Paging und Segmentierung im Betriebssystem

Unterschied zwischen interner und externer Fragmentierung in Tabellenform     

VERGLEICHSGRUNDLAGE  INTERNE FRAGMENTATIONEXTERNE FRAGMENTIERUNG
AuftretenExterne Fragmentierung tritt auf, weil nach dem Laden und Entladen von Programmen oder Dateien für einige Zeit nicht genügend angrenzender Speicherplatz vorhanden ist, da dann der gesamte freie Speicherplatz hier und da verteilt wird.Interne Fragmentierung tritt auf, wenn eine Partition mit fester Größe einem Programm/einer Datei mit einer geringeren Größe als die Partition zugewiesen wird, wodurch der Rest des Speicherplatzes in dieser Partition unbrauchbar wird.   
ZustandEine interne Fragmentierung tritt auf, wenn eine Speicherzuweisungstechnik mit fester Größe verwendet wird.Eine externe Fragmentierung tritt auf, wenn eine dynamische Speicherzuweisungstechnik verwendet wird.  
VerhütungEine interne Fragmentierung kann verhindert werden, indem mehrere Partitionen verwendet werden und ein Programm auf der Grundlage der besten Anpassung zugewiesen wird.Eine externe Fragmentierung kann durch Methoden wie Paging und Segmentierung verhindert werden, wobei ein logisch zusammenhängender virtueller Speicherplatz gegeben ist, während in Wirklichkeit die Dateien/Programme in Teile zerlegt und hier und da platziert werden.
ProzesseBei der internen Fragmentierung kann bei Blöcken mit fester Größe der verbleibende Platz in einem Block nicht für andere Prozesse verwendet werden.Bei der externen Fragmentierung hinterlässt der entfernte Prozess einen Raum oder ein Loch und der Speicher erscheint als eine Ansammlung kleiner Löcher und nicht als ein Brocken.
   

Lesen Sie auch: Unterschied zwischen Paging und Segmentierung