In der x86-Architektur stellen Seitenverzeichnisse und Seitentabellen zusammen die Zuordnung zwischen virtuellen Adressen (von Anwendungen verwendeten Speicheradressen) und physischen Adressen (tatsächlichen Positionen in der physischen Speicherhardware) bereit.
Eine Seite ist einfach ein zusammenhängender Teil des Speichers. x86 (32-Bit) unterstützt 3 Seitengrößen: 4MB, 2MB und 4KB, wobei letzteres in gängigen Betriebssystemen am häufigsten verwendet wird. Eine Seitentabelle ist ein Array von 1024 * 32-Bit-Einträgen (passend zu einer einzelnen 4-KByte-Seite). Jeder Eintrag zeigt auf die physikalische Adresse einer Seite. Da eine einzelne Seitentabelle nicht in der Lage ist, den gesamten Adressraum allein darzustellen (1024 Einträge * 4 KB = nur 22 Bits Adressraum), benötigen wir eine Seitentabelle der zweiten Ebene: ein Seitenverzeichnis. Ein Seitenverzeichnis besteht ebenfalls aus 1024 * 32-Bit-Einträgen (die wiederum in eine einzelne Seite passen), die jeweils auf eine Seitentabelle zeigen. Wir können jetzt sehen, dass 1024 * 1024 * 4KB = 32-Bits und mit dieser 3-Level-Struktur sind wir in der Lage, den gesamten virtuellen 4GB-Adressraum abzubilden.
Wenn die CPU aufgefordert wird, auf eine virtuelle Adresse zuzugreifen, verwendet sie die 10 höchstwertigen Bits (31:22), um in die Seitenverzeichnistabelle zu indizieren (deren Basisadresse in einem speziellen Register gespeichert ist). Die nächsten 10 Bits höchster Ordnung (21:12) werden zum Indexieren in die Seitentabelle verwendet, auf die der Seitenverzeichniseintrag zeigt. Die niedrigsten 12-Bit-Ordnungen (11: 0) werden schließlich zum Indexieren eines Bytes in der Seite verwendet, auf die der Seitentabelleneintrag zeigt.
In anderen Systemen sind abhängig von der Größe des virtuellen Adressraums und den unterstützten Seitengrößen möglicherweise mehr oder weniger Ebenen der Seitentabelle erforderlich. Zum Beispiel benötigt x86 mit 4MB Seiten nur ein einziges Seitenverzeichnis. Im 64-Bit-Modus mit 4 KB-Seiten wird ein 4-Ebenen-System verwendet: Eine Seitenzuordnungsstufe 4 Tabelle enthält Einträge, die auf eines von vielen Seitenverzeichnissen zeigen.
Die Intel Architectures Developer's Manual hat viel mehr Informationen über das Thema, vor allem in den Kapiteln 3 und 4.
See [osdev.org] (http://wiki.osdev.org/Paging) oder der offiziellen Intel-Handbuch. – Jester