Was ist der Unterschied zwischen Fragmentierung und Segmentierung?

Das Hauptunterschied zwischen Fragmentierung und Segmentierung ist das Fragmentierung ist eine Bedingung, die dazu führt, dass Speicherblöcke nicht verwendet werden, während Segmentierung die Technik des Aufteilens eines Prozesses in mehrere Module oder Abschnitte ist.

Fragmentierung und Segmentierung sind zwei Begriffe, die mit der Speicherverwaltung zusammenhängen. Die Speicherverwaltung ist eine der Hauptaufgaben, die ein Betriebssystem ausführt. Es verwaltet Speicher, indem Prozesse während der Ausführung zwischen Hauptspeicher und Platte hin und her verschoben werden. Bestimmte Speicherplätze können einem Prozess zugewiesen oder von einem Prozess freigegeben werden. Daher speichert das Betriebssystem alle Aufzeichnungen der Speicherstellen der Prozesse. Es prüft auch, wie viel Speicher den Prozessen zugeordnet ist. Außerdem entscheidet er, welcher Prozess zu welchem ​​Zeitpunkt Speicherplatz erhalten soll. Darüber hinaus aktualisiert das Betriebssystem den Status von Speicherstellen, d. H. Ob sie frei sind oder Prozessen zugeordnet sind.

Wichtige Bereiche

1. Was ist Fragmentierung?
     - Definition, Funktionalität
2. Was ist Segmentierung?
     - Definition, Funktionalität
3. Unterschied zwischen Fragmentierung und Segmentierung
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Externe Fragmentierung, Fragmentierung, interne Fragmentierung, Speicherverwaltung, Betriebssystem, Segmentierung

Was ist Fragmentierung?

Bei der Ausführung eines Prozesses wird dieser in den Speicher geladen. Nach Abschluss der Ausführung wird es aus dem Speicher entfernt. Laden und Entfernen von Prozessen schaffen freie Speicherplätze. Diese Räume sind klein und können nicht für andere Prozesse zugewiesen werden. Daher bleiben diese Speicherblöcke unbenutzt. Es heißt Fragmentierung. Es gibt zwei Arten der Fragmentierung, die als interne Fragmentierung und externe Fragmentierung bezeichnet werden.

Interne Fragmentierung

Bei der internen Fragmentierung ist der einem Prozess zugewiesene Speicherblock größer als erforderlich. Dadurch wird ein Teil des Speichers ungenutzt gelassen. Dieser verbleibende Speicherplatz kann keinem anderen Prozess zugewiesen werden. Wenn ein Prozess beispielsweise 2 MB erfordert, aber einem 3 MB-Speicherblock zugeordnet ist, wird der 1-MB-Block nicht verwendet. Diese 1 MB kann keinem anderen Prozess zugewiesen werden und ist Abfall.

Externe Fragmentierung

Bei der externen Fragmentierung reicht der gesamte Speicherplatz aus, um einen Prozess zu lokalisieren, aber er ist nicht zusammenhängend. Daher bleibt dieser Platz ungenutzt. Angenommen, es gibt einen Prozess von 3 MB und es gibt drei Speicherblöcke, die sich an verschiedenen Speicherorten befinden. Diese Bausteine ​​können nicht für den Prozess verwendet werden, da sie nicht zusammenhängend sind. Das Mischen von Speicher ist eine Lösung für dieses Problem. Es hilft, den gesamten freien Speicherplatz einer Laktation zuzuführen.

Was ist Segmentierung?

Die Segmentierung unterteilt jeden Prozess in mehrere Segmente oder Abschnitte unterschiedlicher Größe. Ein Segment kann ein Hauptprogramm, eine Funktion, Stacks, Symboltabellen, Datenstrukturen usw. sein. Jedes Segment ist ein anderer logischer Adressraum des Programms. Diese Segmente haben eine variable Längengröße. Mit anderen Worten, die Segmente haben keine feste Größe.

Bei der Ausführung des Programms wird jedes Segment in einen nicht zusammenhängenden Speicher geladen. Ein Verweis auf eine Speicherstelle eines Segments umfasst die Segmentnummer und den Versatz. Das Betriebssystem unterhält eine Tabelle, die als Segmentzuordnungstabelle bezeichnet wird. Sie wird auch als lokale Deskriptortabelle bezeichnet. Diese Tabelle speichert Aufzeichnungen aller Prozesse und freie Speicherblöcke. Sie besteht aus der Startadresse (Basisadresse) und der Länge jedes Segments.

Unterschied zwischen Fragmentierung und Segmentierung

Definition

Fragmentierung ist ein Phänomen, bei dem Speicherplatz ineffizient genutzt wird, was die Kapazität oder Leistung und oft auch beides verringert. Bei der Segmentierung wird der Hauptspeicher des Computers in Segmente oder Abschnitte unterteilt.

Funktionalität

Während die Fragmentierung dazu führt, dass Speicherblöcke nicht verwendet werden, funktioniert die Segmentierung als Speicherverwaltungstechnik, um Prozesse auszuführen.

Fazit

Fragmentierung und Segmentierung sind mit der Speicherverwaltung verbunden. Der Unterschied zwischen Fragmentierung und Segmentierung besteht darin, dass Fragmentierung eine Bedingung ist, die dazu führt, dass Speicherblöcke nicht verwendet werden, während Segmentierung die Technik des Aufteilens eines Prozesses in mehrere Module oder Abschnitte ist.

Referenz:

1. Einführung der Segmentierung | Betriebssystem |, Education 4u, 9. Mai 2018, hier verfügbar.
2. „Speicherverwaltung des Betriebssystems“. Www.tutorialspoint.com, Tutorials Point, Verfügbar hier.

Bildhöflichkeit:

1. "Protected Mode Segmente" Von John Källén (jkl at commons) - Eigene Arbeit (Public Domain) über Commons Wikimedia