5 SpeicherverwaltungSegmente & Pages

Segmente & Pages

Auf einen Blick

Zwei Arten, den virtuellen Adressraum einzuteilen: Segmente (variable Größe, logisch, mit eigenen Rechten) und Pages (feste Größe, z.B. 4 KB, individuell auslagerbar). Linux und Windows bevorzugen Pages.

Segmente

  • variable, vom Anwender vorgebbare Größe
  • voneinander unabhängig
  • tragen segment-spezifische Rechte
  • Beispiele: Code-Segment, Daten-Segment, Stack-Segment

Pages

  • feste Größe, von Hardware und OS vorgegeben (Intel 32-Bit: 4 KB)
  • können individuell ausgelagert werden
  • Rechte auf Page-Ebene
  • bevorzugtes Modell von Linux und Windows

Page vs. Page Frame

Der zentrale Begriffspaar für die Adressabbildung:

  • Page — eine Einheit im virtuellen Adressraum (logische Sicht der CPU/des Programms).
  • Page Frame — eine gleich große Einheit im physikalischen RAM.

Die Abbildung virtuell → physikalisch ist also eine Abbildung Page → Page Frame, verwaltet in der Page Table.

Adressaufbau

Eine virtuelle Adresse zerfällt in (Page-Nummer p, Offset). Der Offset bleibt bei der Umsetzung unverändert; nur p wird durch die Frame-Nummer ersetzt. In einem 32-Bit-Linux ist der Adressraum linear und in 4-KB-Pages eingeteilt.

Verwandte Notes

Virtual Memory · Page Table & MMU · Page Faults · Paging-Algorithmen

← Kapitelübersicht


⬅️ Virtual Memory · Page Table & MMU ➡️

Built with LogoFlowershow