3.1特殊的线性地址(PDT页目录表基址):0xC0600000
11 *8 -> 0x18
0 0000 0011 *8 -> 0x18
0 0000 0000 *8 -> 0
000
PROCESS 89f30a48 SessionId: 0 Cid: 07f4 Peb: 7ffda000 ParentCid: 05c4
DirBase: 0aa802a0 ObjectTable: e1d6ce40 HandleCount: 168.
Image: notepad.exe
kd> !dq 0aa802a0 + 18
# aa802b8 00000000`876ca801 00000000`578dc801
# aa802c8 00000000`5789d801 00000000`5789e801
# aa802d8 00000000`5785b801 00000000`5362c801
# aa802e8 00000000`5356d801 00000000`534ee801
# aa802f8 00000000`5352b801 00000000`531e1801
# aa80308 00000000`531e2801 00000000`531a3801
# aa80318 00000000`53160801 00000000`bae71340
# aa80328 00000000`5c2ad801 00000000`5c1ee801
kd> !dq 876ca000 + 18
#876ca018 00000000`876ca863 00000000`8774e863
#876ca028 00000000`8773f863 00000000`00000000
#876ca038 00000000`0a864963 00000000`0a865963
#876ca048 00000000`0a866963 00000000`0a867963
#876ca058 00000000`0a868963 00000000`0a869963
#876ca068 00000000`0a86a963 00000000`0a86b963
#876ca078 00000000`0a86c963 00000000`0a86d963
#876ca088 00000000`0a86e963 00000000`0a86f963
kd> !dq 876ca000 + 0
#876ca000 00000000`876cb863 00000000`8770c863
#876ca010 00000000`8770d863 00000000`876ca863
#876ca020 00000000`8774e863 00000000`8773f863
#876ca030 00000000`00000000 00000000`0a864963
#876ca040 00000000`0a865963 00000000`0a866963
#876ca050 00000000`0a867963 00000000`0a868963
#876ca060 00000000`0a869963 00000000`0a86a963
#876ca070 00000000`0a86b963 00000000`0a86c963
kd> !dq 876cb000 + 0
#876cb000 00000000`87b00867 00000000`87663867
#876cb010 00000000`87637867 00000000`00000000
#876cb020 00000000`8774b867 00000000`87881867
#876cb030 00000000`876b1867 00000000`87a5e867
#876cb040 00000000`872f3867 00000000`87c86867
#876cb050 00000000`00000000 00000000`00000000
#876cb060 00000000`00000000 00000000`00000000
#876cb070 00000000`00000000 00000000`87dff867
---------------------------------------------
kd> !dq 0aa802a0 + 0
# aa802a0 00000000`876cb801 00000000`8770c801
# aa802b0 00000000`8770d801 00000000`876ca801
# aa802c0 00000000`578dc801 00000000`5789d801
# aa802d0 00000000`5789e801 00000000`5785b801
# aa802e0 00000000`5362c801 00000000`5356d801
# aa802f0 00000000`534ee801 00000000`5352b801
# aa80300 00000000`531e1801 00000000`531e2801
# aa80310 00000000`531a3801 00000000`53160801
kd> !dq 876cb000 + 0
#876cb000 00000000`87b00867 00000000`87663867
#876cb010 00000000`87637867 00000000`00000000
#876cb020 00000000`8774b867 00000000`87881867
#876cb030 00000000`876b1867 00000000`87a5e867
#876cb040 00000000`872f3867 00000000`87c86867
#876cb050 00000000`00000000 00000000`00000000
#876cb060 00000000`00000000 00000000`00000000
#876cb070 00000000`00000000 00000000`87dff867
结论:
一个PDPTE指向一个4KB大小的PDT
线性地址 0xC0600000 + 0KB + 0x0 = 0xC0600000 的物理页等于 PDPTE0 -> PDE0
线性地址 0xC0600000 + 4KB + 0x0 = 0xC0601000 的物理页等于 PDPTE1 -> PDE0
线性地址 0xC0601000 + 4KB + 0x0 = 0xC0602000 的物理页等于 PDPTE2 -> PDE0
线性地址 0xC0602000 + 4KB + 0x0 = 0xC0603000 的物理页等于 PDPTE3 -> PDE0
所以:
PDE = 0xC0600000 + PDPTI*4KB + PDI*8