メモリマップと ページテーブル
|
- ページテーブル
- Linux では 64bitアドレス空間に対応できるように3 段のページテーブル(PGD, PMD,PTE)を持って
いる
- alpha は3段であるためそのまま利用
- x86 は 2 段であるため、PMD は何もしない仮想的なテーブルになっている(メモリ上に存在しない)。x86
ではページテーブルはページング対象外であり、物理メモリ上にマップされたカーネル空間に常に存在す
る
- メモリマップ
- 物理メモリはPAGE_OFFSET(0xC0000000h)以降にマップ
- カーネルは 全てのプロセスの仮想アドレス空間の PAGE_OFFSET からストレートマップされる
- セグメントのプロテクション機能などの対象外
- 1GB以上の物理メモリを利用する場合にはPAGE_OFFSETをずらす
|
|