Speicherverwaltung, Swapping und Dateisysteme im Betriebssystem

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 7,85 KB

Speicherverwaltung und virtueller Speicher

Arbeitsspeicher (RAM): Er ist erforderlich, um Zugriffszeiten zu verkürzen und die Anzahl der Ein-/Ausgabe-Operationen (I/O) auf sekundären Speichermedien auf ein Minimum zu reduzieren.

Memory-Management (Speicherverwaltung): Ihre Hauptfunktion besteht darin, eine möglichst hohe Anzahl aktiver Prozesse im Arbeitsspeicher zu halten, um die gemeinsame Ressourcennutzung und die Gesamtrechenleistung des Systems zu maximieren.

Strategien zur Speicherbelegung (Fit-Strategien)

Strategien zur Zuweisung von Programmen in den Hauptspeicher (MP):

  • Best-Fit: Wählt die Partition aus, die der Programmgröße am nächsten kommt, sodass der geringste ungenutzte Speicherplatz (Verschnitt) übrig bleibt.
  • Worst-Fit: Wählt die größte verfügbare Partition aus, sodass nach dem Laden des Programms der größtmögliche freie Restbereich verbleibt.
  • First-Fit: Wählt die erste freie Partition aus, die groß genug ist, um das Programm aufzunehmen.

Zweck: Vermeidung oder Minimierung externer Fragmentierung.

Swapping-Technik und Funktionsweise

Swapping: Wird eingesetzt, um Engpässe und Platzmangel im Hauptspeicher zu umgehen.

Warum wurde die Swapping-Technik eingeführt? Sie dient dazu, Speicherüberläufe und Speicherengpässe abzufangen.

Betriebsart: Prozesse, die sich im Hauptspeicher befinden, aber auf Ereignisse warten, werden ausgewählt und auf den Sekundärspeicher ausgelagert. Dadurch wird wertvoller Speicherplatz im RAM freigegeben. Wird ein ausgelagerter Prozess wieder rechenbereit, wird er erneut in den Hauptspeicher transferiert und ausgeführt.

  • Swap-Out: Das Auslagern eines Prozesses aus dem Hauptspeicher in eine Swap-Datei auf dem Sekundärspeicher.
  • Swap-In: Das Zurückholen und Laden eines Prozesses aus der Swap-Datei in den Hauptspeicher.

Konzepte im Zusammenhang mit Swapping:

  • Swap-Datei (Swap-File): Eine Datei auf dem Massenspeicher (Festplatte/SSD), in der ausgelagerte Prozesszustände gespeichert werden.
  • Dynamische Relokation / Zuordnung: Ein Systemmechanismus zur dynamischen Allokation und Deallokation von Programmen und Prozessen im laufenden Betrieb.

Paging und virtuelle Speicherverwaltung

Wozu dienen Such-, Zuweisungs- und Seitenersetzungsstrategien? Da die virtuelle Speicherverwaltung die Ausführung von Programmen ermöglicht, ohne dass sich deren gesamter Code physisch im RAM befinden muss, sind Mechanismen für den Seitenwechsel zwischen virtuellem und realem Speicher erforderlich.

  • Antizipatives Paging (Prepaging): Vorab-Laden aller oder mehrerer Seiten eines Prozesses aus dem Sekundärspeicher in den Primärspeicher.
  • Demand-Paging (Paging auf Anforderung): Seiten werden erst dann vom Sekundärspeicher in den Hauptspeicher geladen, wenn der Prozess im Rahmen seiner Ausführung tatsächlich darauf zugreift.

Die Zuweisung von Seitenrahmen an Prozesse kann auf zwei Arten erfolgen:

  • Feste Zuweisung: Jedem Prozess ist eine feste Anzahl physischer Seitenrahmen zugewiesen.
  • Variable Zuweisung: Die Anzahl der Seitenrahmen passt sich dynamisch an den aktuellen Bedarf und Speicherplatz an.

Seitenersetzungsstrategien und Page Faults

Strategien bestimmen, welche Seite aus dem Hauptspeicher verdrängt wird, sobald neuer Platz benötigt wird:

  • Lokale Ersetzungsstrategie: Es können nur Seiten desjenigen Prozesses ersetzt werden, der auch den Seitenfehler ausgelöst hat.
  • Globale Ersetzungsstrategie: Alle im Hauptspeicher befindlichen Seiten sämtlicher Prozesse stehen als Ersetzungskandidaten zur Verfügung, unabhängig davon, welcher Prozess den Seitenfehler verursacht hat.
  • Page Fault (Seitenfehler): Tritt auf, wenn ein Prozess auf eine virtuelle Seite zugreift, die sich aktuell nicht im physischen Hauptspeicher befindet. Das Betriebssystem muss die angeforderte Seite vom Sekundärspeicher nachladen. Fehlallokationen müssen hierbei vermieden werden.

Reale vs. virtuelle Adressierung

Was unternimmt das Betriebssystem, wenn im Hauptspeicher nicht genügend Platz vorhanden ist? Welche Bedeutung hat die virtuelle Speicherverwaltung?

Die virtuelle Speicherverwaltung ist eine Technik, die sekundäre Speichermedien (HDD/SSD) nutzt, um zusätzlichen virtuellen Adressraum bereitzustellen. In Multiprogrammingsystemen sind die vom Programm genutzten Adressen von den physischen RAM-Adressen entkoppelt.

Vorteile des virtuellen Speichers:

  • Programme und Datenstrukturen sind nicht mehr durch die physische Größe des verfügbaren RAM begrenzt.
  • Es müssen sich jeweils nur die aktiv benötigten Teile eines Prozesses im physischen Speicher befinden. Dadurch können wesentlich mehr Prozesse parallel ausgeführt werden und sich den Hauptspeicher teilen.
  • Der Speichermanager arbeitet mit realen Adressen (physischer RAM) und virtuellen Adressen (virtueller Speicherraum). Ein Mapping-Mechanismus (Seitentabelle) übersetzt virtuelle Adressen in reale Adressen.
  • Durch das Paging wird der virtuelle Speicher in gleich große Blöcke, sogenannte virtuelle Seiten (Pages), und der physische Speicher in reale Seitenrahmen (Page Frames) unterteilt.

Segmentierung und kombinierte Verfahren

  • Seitenersetzungsstrategie: Auswahl derjenigen Seite im Hauptspeicher, die freigegeben werden muss, um einer neuen Seite Platz zu machen.
  • Seitengröße (Page Size): Hardwareabhängig vorgegeben und variiert je nach Systemarchitektur und Prozessor.
  • Segmentierung des virtuellen Speichers: Speicherverwaltungstechnik, bei der der Adressraum in logische Segmente unterschiedlicher Größe aufgeteilt wird.
  • Segmentierung mit Paging: Kombination beider Verfahren, bei der der Adressraum zunächst in Segmente und jedes Segment wiederum in Seiten fester Größe unterteilt wird.
  • Swapping im virtuellen Speicher: Auslagerung ganzer Seiten oder Segmente in eine Swap- bzw. Auslagerungsdatei.

Dateisysteme und Speicherplatzverwaltung

Die dauerhafte Speicherung und das zuverlässige Wiederauffinden von Informationen sind grundlegende Funktionen für jede Anwendung. Jeder Prozess muss Daten von sekundären Speichergeräten lesen und schreiben können. Um diese Aufgaben durchzuführen, nutzt das Betriebssystem ein Dateisystem, das Dateien und Verzeichnisse organisiert, speichert und verwaltet.

  • Was ist eine Datei? Eine Menge logisch zusammenhängender Informationen.
  • Wie sind Dateien organisiert? Die Dateiorganisation legt fest, wie Daten intern strukturiert und gespeichert sind.
  • Welche Zugriffsmethoden gibt es? Zugriffsmethoden sind Mechanismen, über die Daten aus einer Datei gelesen und geschrieben werden.
  • Wer stellt die Schnittstelle zwischen Anwendungen und Geräten dar? Die Ein- und Ausgaberoutinen des Dateisystems bilden diese Schnittstelle.
  • Was sind Verzeichnisse? Übergeordnete Organisationseinheiten, die das Auffinden, Lesen und Schreiben gespeicherter Daten ermöglichen.
  • Speicherplatzverwaltung (Disk Allocation): Befasst sich damit, wie Datenblöcke von Dateien physisch auf der Festplatte verteilt und verwaltet werden.

Verwandte Einträge: