Speicherverwaltung im Betriebssystem: Angrenzend, Austausch, Fragmentierung
Was ist Speicherverwaltung?
Speicherverwaltung ist der Prozess der Steuerung und Koordinierung des Computerspeichers, bei dem den verschiedenen laufenden Programmen Teile, sogenannte Blรถcke, zugewiesen werden, um die Gesamtleistung des Systems zu optimieren.
Die wichtigste Funktion eines Betriebssystems ist die Verwaltung des Hauptspeichers. Sie hilft Prozessen, zwischen dem Hauptspeicher und der Ausfรผhrungsdiskette hin- und herzuwechseln. Sie hilft dem Betriebssystem, jeden Speicherort im Auge zu behalten, unabhรคngig davon, ob er einem Prozess zugewiesen ist oder frei bleibt.
Warum Speicherverwaltung verwenden?
Hier sind Grรผnde fรผr die Verwendung der Speicherverwaltung:
- Damit kรถnnen Sie รผberprรผfen, wie viel Speicher Prozessen zugewiesen werden muss, die entscheiden, welcher Prozessor zu welchem โโZeitpunkt Speicher erhalten soll.
- Verfolgt, wann immer Inventar freigegeben oder nicht zugewiesen wird. Demnach wird der Status aktualisiert.
- Es weist den Platz den Anwendungsroutinen zu.
- Auรerdem wird sichergestellt, dass sich diese Anwendungen nicht gegenseitig stรถren.
- Hilft, verschiedene Prozesse voreinander zu schรผtzen
- Es legt die Programme im Speicher ab, so dass der Speicher voll ausgenutzt wird.
Techniken zur Speicherverwaltung
Hier sind einige der wichtigsten Speicherverwaltungstechniken:
Einzelne zusammenhรคngende Zuordnung
Dies ist die einfachste Speicherverwaltungstechnik. Bei dieser Methode steht der gesamte Computerspeicher, mit Ausnahme eines kleinen Teils, der fรผr das Betriebssystem reserviert ist, einer Anwendung zur Verfรผgung. Das Betriebssystem MS-DOS beispielsweise weist den Speicher auf diese Weise zu. Ein eingebettetes System lรคuft ebenfalls auf einer einzigen Anwendung.
Partitionierte Zuordnung
Es unterteilt den Primรคrspeicher in verschiedene Speicherpartitionen, bei denen es sich meist um zusammenhรคngende Speicherbereiche handelt. Jede Partition speichert alle Informationen fรผr eine bestimmte Aufgabe oder einen bestimmten Job. Diese Methode besteht darin, einem Job eine Partition zuzuweisen, wenn er startet, und die Zuordnung aufzuheben, wenn er endet.
Ausgelagerte Speicherverwaltung
Diese Methode unterteilt den Hauptspeicher des Computers in Einheiten fester Grรถรe, die als Seitenrahmen bezeichnet werden. Diese Hardware-Speicherverwaltungseinheit ordnet Seiten Frames zu, die auf Seitenbasis zugewiesen werden sollten.
Segmentierte Speicherverwaltung
Segmentierter Speicher ist die einzige Speicherverwaltungsmethode, die dem Benutzerprogramm keinen linearen und zusammenhรคngenden Adressraum zur Verfรผgung stellt.
Segmente benรถtigen Hardwareunterstรผtzung in Form einer Segmenttabelle. Es enthรคlt die physikalische Adresse des Abschnitts im Speicher, die Grรถรe und andere Daten wie Zugriffsschutzbits und Status.
Was ist Swapping?
Swapping ist eine Methode, bei der der Prozess vorรผbergehend vom Hauptspeicher in den Sicherungsspeicher ausgelagert wird. Spรคter wird er zur weiteren Ausfรผhrung wieder in den Speicher zurรผckgeholt.
Der Sicherungsspeicher ist eine Festplatte oder ein anderes sekundรคres Speichergerรคt, das groร genug sein sollte, um Kopien aller Speicherabbilder fรผr alle Benutzer aufzunehmen. Es ist auch in der Lage, direkten Zugriff auf diese Speicherbilder zu bieten.
Vorteile des Tauschens
Hier sind die wichtigsten Vorteile/Vorteile des Tauschens:
- Es bietet einen hรถheren Grad an Multiprogrammierung.
- Ermรถglicht dynamische Verschiebung. Wenn beispielsweise die Adressbindung zur Ausfรผhrungszeit verwendet wird, kรถnnen Prozesse an verschiedenen Standorten ausgetauscht werden. Andernfalls sollten Prozesse im Falle von Kompilierungs- und Ladezeitbindungen an denselben Speicherort verschoben werden.
- Es hilft, den Speicher besser auszunutzen.
- Minimale Verschwendung von CPU-Zeit bei Abschluss, sodass es problemlos auf eine prioritรคtsbasierte Planungsmethode angewendet werden kann, um die Leistung zu verbessern.
Was ist Speicherzuweisung?
Bei der Speicherzuweisung handelt es sich um einen Prozess, bei dem Computerprogrammen Speicher oder Speicherplatz zugewiesen wird.
Dabei wird der Hauptspeicher in zwei Arten von Partitionen unterteilt
- Wenig Speicher - Betriebssystem befindet sich in dieser Art von Speicher.
- Hoher Speicherโ Benutzerprozesse werden im High-Memory gehalten.
Partitionszuordnung
Der Speicher ist in verschiedene Blรถcke oder Partitionen unterteilt. Jeder Prozess wird entsprechend der Anforderung zugeordnet. Die Partitionszuweisung ist eine ideale Methode, um interne Fragmentierung zu vermeiden.
Nachfolgend sind die verschiedenen Partitionszuordnungsschemata aufgefรผhrt:
- Erster Fit: Bei dieser Typanpassung wird die Partition zugewiesen, die der erste ausreichende Block vom Anfang des Hauptspeichers ist.
- beste Passform: Es weist den Prozess der Partition zu, die die erste kleinste Partition unter den freien Partitionen ist.
- Schlechteste Passform: Es ordnet den Prozess dem zu Partition, die die grรถรte ausreichend frei verfรผgbare Partition im Hauptspeicher ist.
- Nรคchste Passform: Es รคhnelt grรถรtenteils dem ersten Fit, aber dieser Fit sucht nach der ersten ausreichenden Partition ab dem letzten Zuordnungspunkt.
Was ist Paging?
Paging ist ein Speichermechanismus, der es dem Betriebssystem ermรถglicht, Prozesse in Form von Seiten vom Sekundรคrspeicher in den Hauptspeicher abzurufen. Bei der Paging-Methode wird der Hauptspeicher in kleine physische Speicherblรถcke mit fester Grรถรe unterteilt, die als Frames bezeichnet werden. Die Grรถรe eines Frames sollte der einer Seite entsprechen, um den Hauptspeicher optimal auszunutzen und externe Fragmentierung zu vermeiden. Paging dient dem schnelleren Zugriff auf Daten und ist ein logisches Konzept.
Was ist Fragmentierung?
Prozesse werden gespeichert und aus dem Speicher entfernt, wodurch freier Speicherplatz entsteht, der zu klein ist, um von anderen Prozessen genutzt zu werden.
Wenn Prozesse aufgrund ihrer geringen Grรถรe keine Speicherblรถcke zuweisen kรถnnen und Speicherblรถcke immer ungenutzt bleiben, wird dies manchmal als Fragmentierung bezeichnet. Diese Art von Problem tritt bei einem dynamischen Speicherzuweisungssystem auf, wenn die freien Blรถcke recht klein sind und keine Anforderung erfรผllt werden kann.
Zwei Arten von Fragmentierungsmethoden sind:
- Externe Fragmentierung
- Interne Fragmentierung
- Die externe Fragmentierung kann reduziert werden, indem der Speicherinhalt neu angeordnet wird, um den gesamten freien Speicher in einem einzigen Block zusammenzufassen.
- Die interne Fragmentierung kann reduziert werden, indem die kleinste Partition zugewiesen wird, die noch gut genug ist, um den gesamten Prozess zu รผbertragen.
Was ist Segmentierung?
Die Segmentierungsmethode funktioniert fast รคhnlich wie das Paging. Der einzige Unterschied zwischen den beiden besteht darin, dass die Segmente eine variable Lรคnge haben, wรคhrend die Seiten bei der Paging-Methode immer eine feste Grรถรe haben.
Ein Programmsegment umfasst die Hauptfunktion des Programms, Datenstrukturen, Hilfsfunktionen usw. Das Betriebssystem verwaltet eine Segmentzuordnungstabelle fรผr alle Prozesse. Sie enthรคlt auch eine Liste freier Speicherblรถcke zusammen mit ihrer Grรถรe, Segmentnummern und ihren Speicherorten im Hauptspeicher oder virtuellen Speicher.
Was ist dynamisches Laden?
Beim dynamischen Laden handelt es sich um eine Routine eines Programms, die erst dann geladen wird, wenn das Programm sie aufruft. Alle Routinen sollten in einem verschiebbaren Ladeformat auf der Festplatte enthalten sein. Das Hauptprogramm wird in den Speicher geladen und ausgefรผhrt. Dynamisches Laden sorgt auรerdem fรผr eine bessere Speicherplatzausnutzung.
Was ist dynamische Verknรผpfung?
Beim Verknรผpfen handelt es sich um eine Methode, die dem Betriebssystem hilft, verschiedene Code- und Datenmodule zu sammeln und in einer einzigen ausfรผhrbaren Datei zusammenzufรผhren. Die Datei kann in den Speicher geladen und ausgefรผhrt werden. Das Betriebssystem kann Bibliotheken auf Systemebene zu einem Programm verknรผpfen, das die Bibliotheken zur Ladezeit kombiniert. Bei der dynamischen Verknรผpfungsmethode werden Bibliotheken zur Ausfรผhrungszeit verknรผpft, sodass die Programmcodegrรถรe klein bleiben kann.
Unterschied zwischen statischer und dynamischer Belastung
| Statische Belastung | Dynamisches Laden |
|---|---|
| Statisches Laden wird verwendet, wenn Sie Ihr Programm statisch laden mรถchten. Zum Zeitpunkt der Kompilierung wird dann das gesamte Programm verknรผpft und kompiliert, ohne dass eine externe Modul- oder Programmabhรคngigkeit erforderlich ist. | In einem dynamisch geladenen Programm werden Referenzen bereitgestellt und der Ladevorgang erfolgt zum Zeitpunkt der Ausfรผhrung. |
| Beim Laden wird das gesamte Programm in den Speicher geladen und beginnt mit der Ausfรผhrung. | Routinen der Bibliothek werden nur dann in den Speicher geladen, wenn sie im Programm benรถtigt werden. |
Unterschied zwischen statischer und dynamischer Verknรผpfung
Hier sind die Hauptunterschiede zwischen statischer und dynamischer Verknรผpfung:
| Statische Verknรผpfung | Dynamische Verknรผpfung |
|---|---|
| Durch statische Verknรผpfung werden alle anderen Module, die ein Programm benรถtigt, in einem einzigen ausfรผhrbaren Code zusammengefasst. Dies hilft dem Betriebssystem, jegliche Laufzeitabhรคngigkeit zu verhindern. | Wenn dynamisches Linken verwendet wird, muss das eigentliche Modul oder die Bibliothek nicht mit dem Programm verknรผpft werden. Verwenden Sie stattdessen einen Verweis auf das dynamische Modul, das zum Zeitpunkt der Kompilierung und Verknรผpfung bereitgestellt wurde. |
Zusammenfassung
- Bei der Speicherverwaltung handelt es sich um den Prozess der Steuerung und Koordinierung des Computerspeichers, bei dem Teile, sogenannte Blรถcke, verschiedenen laufenden Programmen zugewiesen werden, um die Gesamtleistung des Systems zu optimieren.
- Damit kรถnnen Sie รผberprรผfen, wie viel Speicher Prozessen zugewiesen werden muss, die entscheiden, welcher Prozessor zu welchem โโZeitpunkt Speicher erhalten soll.
- Bei der Single Contiguous Allocation stehen alle Arten von Computerspeicher mit Ausnahme eines kleinen Teils, der fรผr das Betriebssystem reserviert ist, einer Anwendung zur Verfรผgung
- Die Partitioned Allocation-Methode unterteilt den Primรคrspeicher in verschiedene Speicherpartitionen, bei denen es sich meist um zusammenhรคngende Speicherbereiche handelt
- Die Paged Memory Management-Methode unterteilt den Hauptspeicher des Computers in Einheiten fester Grรถรe, die als Seitenrahmen bezeichnet werden
- Segmentierter Speicher ist die einzige Speicherverwaltungsmethode, die dem Benutzerprogramm keinen linearen und zusammenhรคngenden Adressraum zur Verfรผgung stellt.
- Swapping ist eine Methode, bei der der Prozess vorรผbergehend vom Hauptspeicher in den Sicherungsspeicher ausgelagert wird. Spรคter wird er zur weiteren Ausfรผhrung wieder in den Speicher zurรผckgeholt.
- Bei der Speicherzuweisung handelt es sich um einen Prozess, bei dem Computerprogrammen Speicher oder Speicherplatz zugewiesen wird.
- Paging ist ein Speichermechanismus, der es dem Betriebssystem ermรถglicht, Prozesse in Form von Seiten vom Sekundรคrspeicher in den Hauptspeicher abzurufen.
- Unter Fragmentierung versteht man den Zustand einer Festplatte, bei dem Dateien in auf der Festplatte verstreute Teile aufgeteilt werden.
- Die Segmentierungsmethode funktioniert fast รคhnlich wie das Paging. Der einzige Unterschied zwischen den beiden besteht darin, dass die Segmente eine variable Lรคnge haben, wรคhrend die Seiten bei der Paging-Methode immer eine feste Grรถรe haben.
- Beim dynamischen Laden handelt es sich um eine Routine eines Programms, die erst dann geladen wird, wenn das Programm sie aufruft.
- Beim Verknรผpfen handelt es sich um eine Methode, die dem Betriebssystem hilft, verschiedene Code- und Datenmodule zu sammeln und in einer einzigen ausfรผhrbaren Datei zusammenzufรผhren.

