logo

Speicherverwaltung im Betriebssystem (OS)

In diesem Artikel werden wir die Speicherverwaltung im Detail verstehen.

Was meinst du mit Speicherverwaltung?

Der Speicher ist der wichtige Teil des Computers, der zum Speichern der Daten verwendet wird. Seine Verwaltung ist für das Computersystem von entscheidender Bedeutung, da die Menge des verfügbaren Hauptspeichers in einem Computersystem sehr begrenzt ist. Zu jeder Zeit konkurrieren viele Prozesse darum. Darüber hinaus werden zur Leistungssteigerung mehrere Prozesse gleichzeitig ausgeführt. Dafür müssen wir mehrere Prozesse im Hauptspeicher halten, daher ist es umso wichtiger, sie effektiv zu verwalten.



Speicherverwaltung

Rolle der Speicherverwaltung

Im Folgenden sind die wichtigen Rollen der Speicherverwaltung in einem Computersystem aufgeführt:

kostenlose ipconfig
  • Der Speichermanager wird verwendet, um den Status von Speicherplätzen zu verfolgen, unabhängig davon, ob diese frei oder zugewiesen sind. Es befasst sich mit dem Primärspeicher, indem es Abstraktionen bereitstellt, sodass die Software erkennt, dass ihm viel Speicher zugewiesen ist.
  • Der Speichermanager ermöglicht es Computern mit wenig Hauptspeicher, Programme auszuführen, die größer sind als der verfügbare Speicher. Dies geschieht durch das Hin- und Herschieben von Informationen zwischen dem Primärspeicher und dem Sekundärspeicher mithilfe des Konzepts des Austauschens.
  • Der Speichermanager ist dafür verantwortlich, den jedem Prozess zugewiesenen Speicher vor Beschädigung durch einen anderen Prozess zu schützen. Ist dies nicht gewährleistet, kann es zu unvorhersehbarem Verhalten des Systems kommen.
  • Speichermanager sollten die gemeinsame Nutzung von Speicherplatz zwischen Prozessen ermöglichen. Somit können sich zwei Programme, wenn auch zu unterschiedlichen Zeiten, am selben Speicherort befinden.

Speicherverwaltungstechniken:

Die Speicherverwaltungstechniken können in die folgenden Hauptkategorien eingeteilt werden:

  • Kontinuierliche Speicherverwaltungsschemata
  • Nicht zusammenhängende Speicherverwaltungsschemata
Speicherverwaltung

Kontinuierliche Speicherverwaltungsschemata:

Bei einem zusammenhängenden Speicherverwaltungsschema belegt jedes Programm einen einzelnen zusammenhängenden Block von Speicherorten, d. h. einen Satz von Speicherorten mit aufeinanderfolgenden Adressen.

string jsonobject

Einzelne zusammenhängende Speicherverwaltungsschemata:

Das einzelne zusammenhängende Speicherverwaltungsschema ist das einfachste Speicherverwaltungsschema, das in der frühesten Generation von Computersystemen verwendet wurde. Bei diesem Schema wird der Hauptspeicher in zwei zusammenhängende Bereiche oder Partitionen unterteilt. Die Betriebssysteme befinden sich dauerhaft in einer Partition, im Allgemeinen im unteren Speicherbereich, und der Benutzerprozess wird in die andere Partition geladen.

Vorteile einzelner zusammenhängender Speicherverwaltungsschemata:

  • Einfach umzusetzen.
  • Einfach zu verwalten und zu gestalten.
  • Bei einem einzigen zusammenhängenden Speicherverwaltungsschema erhält ein Prozess, sobald er geladen ist, die volle Prozessorzeit und wird von keinem anderen Prozessor unterbrochen.

Nachteile einzelner zusammenhängender Speicherverwaltungsschemata:

  • Verschwendung von Speicherplatz aufgrund ungenutzten Speichers, da der Prozess wahrscheinlich nicht den gesamten verfügbaren Speicherplatz nutzen wird.
  • Die CPU bleibt im Leerlauf und wartet darauf, dass die Festplatte das Binärbild in den Hauptspeicher lädt.
  • Es kann nicht ausgeführt werden, wenn das Programm zu groß ist, um den gesamten verfügbaren Hauptspeicherplatz auszufüllen.
  • Es unterstützt kein Multiprogramming, d. h. es kann nicht mehrere Programme gleichzeitig verarbeiten.

Mehrfachpartitionierung:

Das einzelne zusammenhängende Speicherverwaltungsschema ist ineffizient, da es Computer darauf beschränkt, jeweils nur ein Programm auszuführen, was zu einer Verschwendung von Speicherplatz und CPU-Zeit führt. Das Problem der ineffizienten CPU-Nutzung kann durch Multiprogramming überwunden werden, das die gleichzeitige Ausführung mehrerer Programme ermöglicht. Um zwischen zwei Prozessen zu wechseln, müssen die Betriebssysteme beide Prozesse in den Hauptspeicher laden. Das Betriebssystem muss den verfügbaren Hauptspeicher in mehrere Teile aufteilen, um mehrere Prozesse in den Hauptspeicher zu laden. Somit können sich mehrere Prozesse gleichzeitig im Hauptspeicher befinden.

Es gibt zwei Arten von Mehrfachpartitionierungsschemata:

  • Feste Partitionierung
  • Dynamische Partitionierung

Feste Partitionierung

Der Hauptspeicher ist in mehrere Partitionen fester Größe in einem Speicherverwaltungsschema mit fester Partition oder statischer Partitionierung unterteilt. Diese Partitionen können gleich groß oder unterschiedlich groß sein. Jede Partition kann einen einzelnen Prozess enthalten. Die Anzahl der Partitionen bestimmt den Grad der Multiprogrammierung, also die maximale Anzahl von Prozessen im Speicher. Diese Partitionen werden zum Zeitpunkt der Systemgenerierung erstellt und bleiben danach unverändert.

VLC zum Herunterladen von YouTube-Videos

Vorteile von Speicherverwaltungsschemata mit fester Partitionierung:

  • Einfach umzusetzen.
  • Einfach zu verwalten und zu gestalten.

Nachteile von Speicherverwaltungsschemata mit fester Partitionierung:

  • Dieses Schema leidet unter interner Fragmentierung.
  • Die Anzahl der Partitionen wird zum Zeitpunkt der Systemgenerierung angegeben.

Dynamische Partitionierung

Die dynamische Partitionierung wurde entwickelt, um die Probleme eines festen Partitionierungsschemas zu überwinden. Bei einem dynamischen Partitionierungsschema belegt jeder Prozess nur so viel Speicher, wie er beim Laden zur Verarbeitung benötigt. Angeforderten Prozessen wird Speicher zugewiesen, bis der gesamte physische Speicher erschöpft ist oder der verbleibende Speicherplatz nicht mehr ausreicht, um den anfordernden Prozess aufzunehmen. In diesem Schema haben die verwendeten Partitionen eine variable Größe und die Anzahl der Partitionen ist zum Zeitpunkt der Systemgenerierung nicht definiert.

Vorteile von Speicherverwaltungsschemata mit dynamischer Partitionierung:

  • Einfach umzusetzen.
  • Einfach zu verwalten und zu gestalten.

Nachteile von Speicherverwaltungsschemata mit dynamischer Partitionierung:

  • Dieses Schema leidet auch unter interner Fragmentierung.
  • Die Anzahl der Partitionen wird zum Zeitpunkt der Systemsegmentierung angegeben.

Nicht zusammenhängende Speicherverwaltungsschemata:

Bei einem nicht zusammenhängenden Speicherverwaltungsschema wird das Programm in verschiedene Blöcke unterteilt und in verschiedene Teile des Speichers geladen, die nicht unbedingt nebeneinander liegen müssen. Dieses Schema kann nach der Größe der Blöcke und danach klassifiziert werden, ob sich die Blöcke im Hauptspeicher befinden oder nicht.

Was ist Paging?

Paging ist eine Technik, die die Anforderungen einer zusammenhängenden Zuweisung von Hauptspeicher überflüssig macht. Dabei wird der Hauptspeicher in physische Speicherblöcke fester Größe, sogenannte Frames, unterteilt. Die Größe eines Frames sollte der einer Seite entsprechen, um den Hauptspeicher zu maximieren und externe Fragmentierung zu vermeiden.

Vorteile von Paging:

Gimp-Schriftartenliste
  • Seiten reduzieren die externe Fragmentierung.
  • Einfach umzusetzen.
  • Speichereffizient.
  • Aufgrund der gleichen Größe der Rahmen ist der Austausch sehr einfach.
  • Es dient dem schnelleren Zugriff auf Daten.

Was ist Segmentierung?

Segmentierung ist eine Technik, die die Anforderungen einer zusammenhängenden Zuweisung von Hauptspeicher eliminiert. Dabei wird der Hauptspeicher in Blöcke unterschiedlicher Größe des physischen Speichers unterteilt, die als Segmente bezeichnet werden. Es basiert auf der Art und Weise, wie der Programmierer seine Programme strukturiert. Bei der segmentierten Speicherzuweisung wird jeder Job in mehrere Segmente unterschiedlicher Größe unterteilt, eines für jedes Modul. Beispiele für solche Module sind Funktionen, Unterprogramme, Stapel, Arrays usw.