Paging
Paging beschreibt beim Computer die Einteilung des physikalischen Speichers in so genannte Kacheln. In eine solche Kachel passt eine definierte Menge Daten, eine sog. Seite (engl. Page). Gängige Seitengrößen sind z.B.: 4 Kb oder auch 4 Mb (x86).Durch das Paging erreicht man eine Abstraktion der Speicherverwaltung, mit der es möglich ist verschiedenen Prozesssen Speicher zuzuweisen, ohne dass der Speicher aus Prozesssicht fragmentiert ist. Das heißt, jedem Prozess gehört aus seiner Sicht ein linearer Speicherbereich, obwohl die Daten möglicherweise im physikalischen Speicher fragmentiert verteilt sind.
Ferner ist es möglich, dass ein Prozess nicht komplett im Speicher liegt, sondern Teile von ihm auf die Festplatte ausgelagert sind. Wenn ein Prozess eine seiner Speicherseiten anfordert, die nicht im Hauptspeicher liegt, so wird ein Seitenfehler ausgelöst und die entsprechende Seite von der Festplatte in den Speicher geladen. Dabei wird eine alte Seite überschrieben und die Seitentabelle entsprechend angepasst. Somit steht ein Adressraum zur Verfügung, der größer sein kann als der tatsächlich vorhandene Speicher. Dieser Adressraum wird daher auch als "virtueller Adressraum" bezeichnet.
Das Paging wird im Allgemeinen durch die sog. MMU, der Memory Management Unit geregelt, die heute in der Regel Teil des Prozessors ist.
Die Unterteilung des Speichers wird dadurch realisiert, dass eine Speicheradresse (z.B.: 32 Bit) unterteilt wird. Bei 4 Kb Seiten legt man eine Grenze ab dem 12. Bit, diese sind die weniger signifikanten Bit. Mit 12 Bit können (212 = 4 Kb) adressiert werden, so ergibt sich die Seitengröße. Die 20 signifikanteren Bits adressieren jetzt eine Speicherseite, die oben genannten 12 weniger signifikanten Bits eine Byte innerhalb der Seite.
Somit lassen sich 220 x 212 Byte adressieren. Das entspricht 232 Byte, also 4 Gb bei einer Adressbreite von 32 Bit.
Siehe auch: Swap, Auslagerungsdatei