Kann mir bitte jemand den Unterschied zwischen interner und externer Fragmentierung bei der Zuweisung von Speicherplatz für Dateien erklären?
Kann mir bitte jemand den Unterschied zwischen interner und externer Fragmentierung bei der Zuweisung von Speicherplatz für Dateien erklären?
Antworten:
Externe Fragmentierung Der
gesamte Speicherplatz reicht aus, um eine Anforderung zu erfüllen oder einen Prozess darin zu speichern. Er ist jedoch nicht zusammenhängend und kann daher nicht verwendet werden.
Interne Fragmentierung Der
dem Prozess zugewiesene Speicherblock ist größer. Ein Teil des Speichers bleibt ungenutzt, da er nicht von einem anderen Prozess verwendet werden kann.
Zuallererst gibt es unter dem Begriff Fragmentierungshinweise eine Entität, die in Teile unterteilt ist - Fragmente.
Interne Fragmentierung: Ein typisches Papierbuch ist eine Sammlung von Seiten (Text in Seiten unterteilt). Wenn sich das Ende eines Kapitels nicht am Ende der Seite befindet und ein neues Kapitel von einer neuen Seite beginnt, gibt es eine Lücke zwischen diesen Kapiteln und es ist Platzverschwendung - ein Teil (Seite für ein Buch) hat ( intern ) nicht genutzten Platz im Inneren - "weißer Raum"
Externe Fragmentierung: Angenommen, Sie haben ein Papiertagebuch und haben Ihre Gedanken nicht Seite für Seite nacheinander geschrieben, sondern eher zufällig. Es kann vorkommen, dass Sie 3 Seiten hintereinander schreiben möchten, dies jedoch nicht. Da es keine 3 sauberen Seiten nacheinander gibt, haben Sie möglicherweise insgesamt 15 saubere Seiten im Tagebuch, aber Sie sind nicht zusammenhängend
Ich bin ein Betriebssystem, das Ihnen nur Speicher in 10-MB-Partitionen zuweist.
Interne Fragmentierung
Das Erfüllen dieser Anfrage hat gerade zu 3 MB interner Fragmentierung geführt.
Externe Fragmentierung
Die Erfüllung dieser Anfrage hat gerade zu einer externen Fragmentierung geführt
Vermutlich von dieser Seite :
Interne Fragmentierung Interne Fragmentierung tritt auf, wenn der Speicherzuweiser zusätzlichen Speicherplatz in einem Speicherblock leer lässt, der einem Client zugewiesen wurde. Dies geschieht normalerweise, weil das Design des Prozessors vorschreibt, dass Speicher in Blöcke bestimmter Größen geschnitten werden muss. Beispielsweise kann es erforderlich sein, dass Blöcke gleichmäßig durch vier, acht oder 16 Bytes geteilt werden. In diesem Fall kann einem Client, der beispielsweise 57 Byte Speicher benötigt, ein Block zugewiesen werden, der 60 Byte oder sogar 64 Byte enthält. Die zusätzlichen Bytes, die der Client nicht benötigt, gehen verloren, und im Laufe der Zeit werden diese winzigen Blöcke verschwendet Ungenutzter Speicher kann große Speichermengen aufbauen und erzeugen, die vom Allokator nicht verwendet werden können. Da sich alle diese nutzlosen Bytes in größeren Speicherblöcken befinden, wird die Fragmentierung als intern betrachtet.
Externe Fragmentierung Externe Fragmentierung tritt auf, wenn der Speicherzuweiser Abschnitte nicht verwendeter Speicherblöcke zwischen Teilen des zugewiesenen Speichers belässt. Wenn beispielsweise mehrere Speicherblöcke in einer fortlaufenden Zeile zugewiesen sind, aber einer der mittleren Blöcke in der Zeile freigegeben wird (möglicherweise weil der Prozess, der diesen Speicherblock verwendet hat, nicht mehr ausgeführt wird), wird der freie Block fragmentiert. Der Block kann später noch vom Allokator verwendet werden, wenn Speicher benötigt wird, der in diesen Block passt, aber der Block ist jetzt für größere Speicheranforderungen unbrauchbar. Es kann nicht mit dem gesamten freien Speicher, der dem System zur Verfügung steht, zusammengefasst werden, da der gesamte Speicher zusammenhängend sein muss, damit er für größere Aufgaben verwendet werden kann. Auf diese Weise,