More Related Content
More from Takuya ASADA (20)
「ハイパーバイザの作り方」読書会#2
- 7. X86/X64のページング機構
• 1ページ=4KB(CPUの設定によっては2MB, 4MB, 1GBのページもサポートする
が、あまり使われていない)
• 多段化されたページテーブルを用いる(x86では2段、x64・PAEでは4段)
• MMUがページテーブルへアクセス、アドレス変換はソフトウェアに対して透
過的に行われる
• CR3:ページテーブルのアドレスを指定/CR0:ページング有効化ビット
(PG)
• ページが存在しないと#PF(exception 14)が発生
13年9月11日水曜日
- 9. 四段ページテーブル(X64)
• ページテーブル=2MBの範囲(512エントリ)
• ページディレクトリ=1GBの範囲(512エントリ)
• ページディレクトリポインタ=512GBの範囲(512エントリ)
• ページマップレベル4=256TBの範囲(512エントリ)
CR3 Page Map
Level 4
512GB* 512
PML4
47 39
Directory Ptr
38 30
Directory
29 21
Table
20 12
Offset
11 0
Page
Directory
Pointer
Page
Directory
Pointer
1GB* 512
Page
Directory
Page
Table
Page
Table
Page
Table
2MB* 512
Page
Table
Page
Table
Page
Table
Page
Table
4KB* 512
Physical
Page
Physical
Page
Physical
Page
Physical
Page
4KB
13年9月11日水曜日