Unterschied zwischen interner und externer Fragmentierung

Inhaltsverzeichnis:

Unterschied zwischen interner und externer Fragmentierung
Unterschied zwischen interner und externer Fragmentierung

Video: Unterschied zwischen interner und externer Fragmentierung

Video: Unterschied zwischen interner und externer Fragmentierung
Video: 1x1 des Controllings – Deckungsbeitrag, Break Even Point und Sicherheitsspanne 2024, November
Anonim

Interne vs. externe Fragmentierung

Der Unterschied zwischen interner und externer Fragmentierung ist ein interessantes Thema für viele, die ihre Computerkenntnisse verbessern möchten. Bevor wir diesen Unterschied kennen, müssen wir sehen, was Fragmentierung ist. Fragmentierung ist ein Phänomen, das in Computerspeichern wie RAM (Random Access Memory) oder Festplatten auftritt und zu Verschwendung und ineffizienter Nutzung von freiem Speicherplatz führt. Während die effiziente Nutzung des verfügbaren Speicherplatzes behindert wird, verursacht dies auch Leistungsprobleme. Interne Fragmentierung tritt auf, wenn die Speicherzuweisung auf Partitionen mit fester Größe basiert, wobei nach der Zuweisung einer kleinen Anwendung 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 da der freie Speicherplatz verteilt wird, anstatt zusammenhängend zu sein.

Was ist interne Fragmentierung?

Unterschied zwischen interner und externer Fragmentierung_Interne Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_Interne Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_Interne Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_Interne Fragmentierung

Betrachten Sie die obige Abbildung, in der ein Speicherzuweisungsmechanismus mit fester Größe befolgt wird. Anfänglich ist der Speicher leer und der Zuordner hat den Speicher in Partitionen fester Größe unterteilt. Später wurden dann drei Programme namens A, B, C auf die ersten drei Partitionen geladen, während die 4. Partition noch frei ist. Programm A entspricht der Größe der Partition, sodass in dieser Partition keine Verschwendung entsteht, aber Programm B und Programm C sind kleiner als die Partitionsgröße. In Partition 2 und Partition 3 ist also noch freier Speicherplatz vorhanden. Dieser freie Speicherplatz ist jedoch unbrauchbar, da der Speicherzuordner Programmen nur ganze Partitionen zuweist, aber keine Teile davon. Diese Verschwendung von freiem Speicherplatz wird als interne Fragmentierung bezeichnet.

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

Was ist externe Fragmentierung?

Unterschied zwischen interner und externer Fragmentierung_Externe Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_Externe Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_Externe Fragmentierung
Unterschied zwischen interner und externer Fragmentierung_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 kostenlos. Dann werden die Programme A, B, C, D und E unterschiedlicher Größe nacheinander geladen und in dieser Reihenfolge zusammenhängend in den Speicher gestellt. Später werden Programm A und Programm C geschlossen und aus dem Speicher entladen. Jetzt gibt es im Speicher drei freie Speicherplatzbereiche, die jedoch nicht benachbart sind. Jetzt wird ein großes Programm namens Programm F geladen, aber keiner der freien Speicherblöcke reicht nicht für Programm F aus. Das Hinzufügen aller freien Speicherplätze reicht definitiv für Programm F aus, aber aufgrund der fehlenden Nachbarschaft ist dieser Speicherplatz ausreichend unbrauchbar für Programm F. Dies wird als externe Fragmentierung bezeichnet.

Was ist der Unterschied zwischen interner und externer Fragmentierung?

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

• Interne Fragmentierung tritt auf, wenn eine Partition mit fester Größe einem Programm/einer Datei zugewiesen wird, die kleiner ist als die Partition, wodurch der Rest des Speicherplatzes in dieser Partition unbrauchbar wird. Die externe Fragmentierung ist darauf zurückzuführen, dass nach dem Laden und Entladen von Programmen oder Dateien für einige Zeit nicht genügend benachbarter Speicherplatz vorhanden ist, da dann der gesamte freie Speicherplatz hier und da verteilt wird.

• Externe Fragmentierung kann durch Verdichtung abgebaut werden, indem die zugewiesenen Blöcke zur Seite verschoben werden, sodass zusammenhängender Raum gewonnen wird. Dieser Vorgang ist jedoch zeitaufwändig und auch bestimmte kritische zugewiesene Bereiche, beispielsweise Systemdienste, können nicht sicher verschoben werden. Wir können diesen Komprimierungsschritt beobachten, der auf Festplatten ausgeführt wird, wenn der Festplattendefragmentierer in Windows ausgeführt wird.

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

• Interne Fragmentierung kann verstümmelt werden, indem man Partitionen verschiedener Größen hat und ein Programm basierend auf der besten Anpassung zuweist. Die interne Fragmentierung ist jedoch immer noch nicht vollständig beseitigt.

Zusammenfassung:

Interne vs. externe Fragmentierung

Sowohl interne als auch externe Fragmentierung sind Phänomene, bei denen Speicher verschwendet wird. Die interne Fragmentierung tritt bei der Speicherzuordnung mit fester Größe auf, während die externe Fragmentierung bei der dynamischen Speicherzuordnung 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, weil 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.

Empfohlen: