Unterschied zwischen interner und externer Fragmentierung | Interne vs externe Fragmentierung

Anonim

Interne vs externe Fragmentierung

Der Unterschied zwischen interner und externer Fragmentierung ist für viele von Interesse, die ihr Computerwissen verbessern möchten. Bevor wir diesen Unterschied kennen, müssen wir sehen, welche Fragmentierung ist. Fragmentierung ist ein Phänomen, das im Computerspeicher auftritt, wie z. B. Arbeitsspeicher oder Festplatten, was Verschwendung und ineffiziente Nutzung des freien Speicherplatzes verursacht. Während die effiziente Nutzung des verfügbaren Platzes behindert wird, verursacht dies auch Leistungsprobleme. Eine interne Fragmentierung tritt auf, wenn die Speicherzuweisung auf Partitionen fester Größe basiert, bei denen nach dem Zuweisen einer kleinen Größe zu einem Steckplatz der verbleibende freie Speicherplatz dieses Steckplatzes verschwendet wird. Externe Fragmentierung tritt auf, wenn Speicher dynamisch zugewiesen wird, wobei nach dem Laden und Entladen mehrerer Slots hier und dort der freie Speicherplatz verteilt wird und nicht zusammenhängend ist.

Was ist interne Fragmentierung?

Betrachten Sie die obige Abbildung, in der ein fester Speicherzuordnungsmechanismus befolgt wird. Anfangs ist der Speicher leer und der Zuordner hat den Speicher in Partitionen mit fester Größe unterteilt. Später wurden drei Programme mit den Namen A, B, C in die ersten drei Partitionen geladen, während die 4. Partition noch frei ist. Programm A stimmt mit der Größe der Partition überein, daher gibt es keine Verschwendung in dieser Partition, aber Programm B und Programm C sind kleiner als die Partitionsgröße. In Partition 2 und Partition 3 gibt es also noch freien Speicherplatz. Dieser freie Speicherplatz ist jedoch nicht nutzbar, da der Speicherzuordner Programmen nur vollständige Partitionen zuweist, aber keine Teile davon. Diese Verschwendung von freiem Speicherplatz wird interne Fragmentierung genannt.

Im obigen Beispiel handelt es sich um gleich große feste Partitionen, dies kann jedoch auch in Situationen geschehen, in denen Partitionen mit verschiedenen festen Größen verfügbar sind. Normalerweise wird der Speicher oder der härteste Speicherplatz in Blöcke unterteilt, die normalerweise die Größe von Potenzen von 2 haben, wie 2, 4, 8, 16 Bytes. Ein Programm oder eine Datei mit 3 Bytes wird einem 4-Byte-Block zugewiesen, aber ein Byte dieses Blocks wird unbrauchbar, was zu einer internen Fragmentierung führt.

Was ist externe Fragmentierung?

Betrachten Sie die obige Abbildung, in der die Speicherzuweisung dynamisch erfolgt. Bei der dynamischen Speicherzuweisung weist der Zuordner nur die genau benötigte Größe für dieses Programm zu.Der erste Speicher ist völlig frei. Dann werden die Programme A, B, C, D und E unterschiedlicher Größe nacheinander geladen und in dieser Reihenfolge in den Speicher plaziert. Später schließen sich Programm A und Programm C und sie werden aus dem Speicher entladen. Jetzt gibt es drei freie Speicherplätze im Speicher, aber sie sind nicht benachbart. Jetzt wird ein großes Programm namens Programm F geladen, aber keiner der freien Speicherplätze ist für Programm F nicht ausreichend. Die Addition aller freien Speicherplätze ist definitiv genug für Programm F, aber aufgrund der fehlenden Nachbarschaft ist dieser Speicherplatz unbrauchbar für Programm F. Dies wird externe Fragmentierung genannt.

Was ist der Unterschied zwischen interner und externer Fragmentierung?

• Interne Fragmentierung tritt auf, wenn eine Speicherzuordnungstechnik mit fester Größe verwendet wird. Externe Fragmentierung tritt auf, wenn eine dynamische Speicherzuordnungstechnik verwendet wird.

• Interne Fragmentierung tritt auf, wenn eine Partition mit fester Größe einem Programm / einer Datei mit einer geringeren Größe als der Partition zugewiesen wird, wodurch der Rest des Bereichs in dieser Partition unbrauchbar wird. Externe Fragmentierung ist auf das Fehlen von genügend angrenzendem Raum nach dem Laden und Entladen von Programmen oder Dateien für einige Zeit zurückzuführen, da dann der gesamte freie Raum hier und da verteilt wird.

• Externe Fragmentierung kann durch Komprimierung abgebaut werden, wenn die zugewiesenen Blöcke auf eine Seite verschoben werden, so dass zusammenhängender Speicherplatz gewonnen wird. Diese Operation braucht jedoch Zeit und auch bestimmte kritische zugewiesene Bereiche, zum Beispiel Systemdienste, können nicht sicher bewegt werden. Wir können diesen Komprimierungsschritt auf Festplatten ausführen, wenn Sie das Defragmentierungsprogramm unter Windows ausführen.

• Externe Fragmentierung kann durch Mechanismen wie Segmentierung und Paging verhindert werden. Hier ist ein logischer zusammenhängender virtueller Speicherraum gegeben, während die Dateien / Programme in Wirklichkeit in Teile geteilt und hier und da platziert werden.

• Die interne Fragmentierung kann durch die Verwendung von Partitionen verschiedener Größen und die Zuweisung eines Programms auf der Grundlage der besten Anpassung gestört werden. Die interne Fragmentierung wird jedoch nicht vollständig beseitigt.

Zusammenfassung:

Interne vs externe Fragmentierung

Sowohl interne Fragmentierung als auch externe Fragmentierung sind Phänomene, bei denen Speicher verschwendet wird. Interne Fragmentierung tritt bei der Speicherzuordnung mit fester Größe auf, während bei der dynamischen Speicherzuordnung eine externe Fragmentierung auftritt. Wenn eine zugewiesene Partition von einem Programm belegt wird, das kleiner als die Partition ist, wird der verbleibende Speicherplatz verschwendet, was zu einer internen Fragmentierung führt. Wenn nach dem Laden und Entladen von Programmen nicht genügend benachbarter Speicherplatz gefunden werden kann, da hier und da freier Speicherplatz verteilt wird, führt dies zu einer externen Fragmentierung. Fragmentierung kann in jedem Speichergerät wie RAM, Festplatte und Flash-Laufwerken auftreten.