Virtueller Speicher, Segmentierung und Speicherverwaltung in Dateisystemen
Zusammenfassung
Der Text erläutert die Segmentierung im virtuellen Speicher, die Adressübersetzung mit Segmenttabellen sowie Lade-, Platzierungs- und Ersetzungsstrategien. Außerdem werden der physische Aufbau einer Festplatte, ihre Leistungsmerkmale und die Verfahren zur Speicherplatzzuteilung in Dateisystemen beschrieben. Abschließend behandelt er die Zugriffsmethoden auf Dateien: sequenziell, direkt und indiziert-sequenziell.
Kernpunkte
- Bei der Segmentierung sind die Speicherbereiche in der Größe anpassbar und entsprechen logischen Programmteilen wie Daten- oder Codestücken.
- Jeder Eintrag der Segmenttabelle enthält Presence-Bit, Segmentadresse auf dem Datenträger, Startadresse im Speicher und Länge.
- Demand-Fetching lädt eine Seite oder ein Segment erst bei expliziter Anforderung, Vorabbeschaffung versucht, den Bedarf im Voraus zu bestimmen.
- Die Suchzeit ist die Zeit, die der Kopf für den Wechsel zur Zielspur benötigt; die Latenz ist die Wartezeit, bis der gewünschte Sektor unter dem Kopf liegt.
- Bei der verketteten Belegung zeigt jeder Block auf den nächsten, bei der indizierten Belegung verweist ein Index-Block auf alle Datenblöcke einer Datei.
- Der sequenzielle Zugriff durchläuft Datensätze nacheinander, der direkte Zugriff erreicht jeden Datensatz unmittelbar.
Virtueller Speicher und Segmentierung
Bei der Segmentierung im virtuellen Speicher sind die Speicherplätze in ihrer Größe anpassbar (resizable). Die Segmentierung nutzt die Tatsache aus, dass Programme in logische Teile, wie zum Beispiel Daten- oder Codestücke, unterteilt sind. In diesem Fall wird das Programm zusammen mit seinen Daten in eine Reihe von Segmenten unterteilt.
Die Adressübersetzung erfolgt ähnlich wie beim Paging, wobei die variable Größe der Segmente durch eine Segmenttabelle gesteuert wird. Jeder Eintrag in dieser Tabelle sollte das Presence-Bit (Wohn-Bit), die Segmentadresse auf dem Datenträger, die Startadresse im Speicher sowie die Länge des jeweiligen Segments enthalten.
Das Betriebssystem (OS) verwaltet für jeden Prozess eine eigene Segmenttabelle. Die Anfangsadresse dieser Tabelle wird in einem Hardware-Register gespeichert, dem sogenannten Resource Origin Table Block (ROTB).
Ladestrategien (Fetch-Strategien)
Diese Strategien bestimmen, wann eine Seite oder ein Segment vom Sekundärspeicher in den Primärspeicher übertragen wird:
- Demand-Fetching (Anforderungsstrategie): Ein laufender Prozess wartet, bis eine Seite oder ein Segment explizit angefordert wird, bevor die Übertragung erfolgt.
- Vorabbeschaffung (Antizipative Strategie): Es wird im Voraus versucht zu bestimmen, welche Seiten oder Segmente demnächst benötigt werden.
Demand Paging: Diese Technik erfordert Hardware-Unterstützung (Präsenz-Bit).
Platzierungs- und Ersetzungsstrategien
Platzierungsstrategien (Placement Strategies): Sie bestimmen, an welcher Stelle im Hauptspeicher eine eingehende Seite oder ein Segment platziert werden soll, also wie viel Speicher zu reservieren ist.
Ersetzungsstrategien (Replacement Strategies): Diese werden genutzt, um zu entscheiden, welche Seite oder welches Segment verschoben werden muss, um Platz für neue Daten zu schaffen, wenn der Hauptspeicher voll belegt ist.
Physikalische Speicherung von Daten
- Track (Spur): Konzentrische Kreise, die den Speicherplatz aufteilen.
- Sektoren: Unterteilung der einzelnen Spuren.
- Zylinder: Ein logischer Zusammenschluss mehrerer paralleler Spuren über verschiedene Speicherflächen hinweg.
- Platten (Platter): Die eigentlichen physischen Speicherbereiche.
- Schreib-/Lesekopf (Head): Physische Einheiten, die den Schreib- und Lesevorgang durchführen.
Leistungsmerkmale von Festplatten
Suchzeit (Seek Time): Die Zeit, die ein Kopf benötigt, um von einer Spur zur nächsten zu gelangen. Sie hängt von der Entfernung zwischen der aktuellen Position und der Zielspur ab.
Latenz oder Rotationsverzögerung: Die Zeit, die verstreicht, bis der gewünschte Sektor unter dem Kopf erscheint.
Disk-Cache: Ein Puffer (Buffer) im Hauptspeicher für Sektoren der Festplatte. Der Cache enthält Kopien bestimmter Festplattenbereiche.
Speicherplatzzuteilung
- Zusammenhängende Belegung (Contiguous Allocation): Beim Erstellen einer Datei werden zusammenhängende Blöcke zugeordnet. Das Verzeichnis enthält den Dateinamen, die Startblockadresse und die Gesamtgröße der Datei.
- Verkettete Belegung (Linked Allocation): Die Zuordnung besteht aus einzelnen Blöcken, die nicht notwendigerweise kontinuierlich liegen. Jeder Block enthält einen Zeiger auf den nächsten. Das Verzeichnis enthält den Dateinamen sowie die Adressen des Start- und Endblocks.
- Indizierte Belegung (Indexed Allocation): Das Verzeichnis ist in einem Index-Block für jede Datei gespeichert, der Verweise auf alle zugehörigen Datenblöcke enthält. Beim Lesen einer Datei erfolgen zwei Zugriffe: einer auf den Index-Block und ein weiterer auf die gewünschte Adresse.
Zugriffsmethoden in Dateisystemen
- Sequenzieller Zugriff: Die Datensätze einer Datei werden nacheinander durchlaufen, bis der gewünschte Datensatz erreicht ist.
- Direkter Zugriff: Ein unmittelbarer Zugriff auf jeden beliebigen Datensatz ist möglich.
- Indiziert-sequenzieller Zugriff: Jede Datei besitzt eine Tabelle von Zeigern, wobei jeder Zeiger auf die Adresse eines Index-Blocks verweist.
Herunterladen
PDF Word HTMLHäufige Fragen
Was ist der Unterschied zwischen Demand-Fetching und Vorabbeschaffung?
Beim Demand-Fetching wartet der Prozess, bis eine Seite oder ein Segment explizit angefordert wird. Bei der Vorabbeschaffung wird im Voraus versucht zu bestimmen, welche Seiten oder Segmente demnächst benötigt werden.
Was enthält ein Eintrag in der Segmenttabelle?
Jeder Eintrag enthält das Presence-Bit, die Segmentadresse auf dem Datenträger, die Startadresse im Speicher und die Länge des Segments.
Was ist die indizierte Belegung?
Das Verzeichnis speichert für jede Datei einen Index-Block mit Verweisen auf alle zugehörigen Datenblöcke. Beim Lesen sind daher zwei Zugriffe nötig: einer auf den Index-Block und einer auf die gewünschte Adresse.
Stellen Sie sich auf die Probe
Lernkarten
Tippen Sie auf eine Karte, um die Antwort zu sehen.
Test
Mit KI aus dem Dokument erstellte Fragen: Prüfen Sie die Antworten anhand des Textes.