メモリ管理ユニット
x86アーキテクチャは3階層のページテーブルを採用している。下位互換性を保ちつつ発展してきたため、MMUには非常に複雑で様々な操作モードが存在する。Intel 80386およびその後継CPUでの典型的な操作を以下で解説する。
CPU はメモリを 4 KiB ページに分割する。Intel 8086 や Intel 80286 MMU からの伝統とも言うべきセグメントレジスタは、最近の OS ではなるべく無視するのが一般的である。しかし、重要な例外がある。アプリケーションのスレッド局所記憶とカーネルのCPU固有データへのアクセスには、明示的に FSレジスタと GSレジスタが使われる。全てのメモリアクセスにはセグメントレジスタが使われ、どのレジスタが使われるかは実行中のコードに依存する。セグメントレジスタはテーブルのインデックスのように働き、仮想アドレスに加算すべきオフセットを提供する。上述のFSおよびGSを使う場合以外は、OS はそのオフセットがゼロになることを保証できる。