PDE、PTE在Windows2000下的情況

來源:互聯網
上載者:User

CR3為PDE表的指標(物理地址),對於不同的進程CR3數值是不同的,但對應的虛擬位址恒為C0300000(在XP下是C0600000)。

實驗:查看0x80000000虛擬位址所對應的物理地址。
查看
kd> dd /p cr3+800 (通過實體記憶體查看)
或者
kd> dd c0300000+800(通過對應的虛擬記憶體查看)
c0300800  000001e3 004001e3 008001e3 00c001e3
c0300810  010001e3 014001e3 018001e3 01c001e3
c0300820  020001e3 024001e3 028001e3 02c001e3
c0300830  030001e3 034001e3 038001e3 03c001e3
c0300840  040001e3 044001e3 048001e3 04c001e3
c0300850  050001e3 054001e3 058001e3 05c001e3
c0300860  060001e3 064001e3 068001e3 06c001e3
c0300870  070001e3 074001e3 078001e3 07c001e3
發現都是以1e3結尾,例如000001e3,其中第7bit為1,代表分頁按照4MB。
也就是說虛擬位址從0x80000000~0xA0000000-1,都是按照4MB分頁,且映射到虛擬位址為0~0x20000000-1。
實體記憶體的前512MB被映射到0x80000000~0x9FFFFFFF

另外,還可以使用!pte查看虛擬記憶體。
kd> !pte 80000000
80000000  - PDE at C0300800        PTE at C0200000
          contains 000001E3      contains 00000000
        pfn 0 GLDA--KWV       LARGE PAGE

總結以上,得出以下結論:
1. Windows會建立一個4MB大小的PTE表,查看虛擬記憶體時,只需查看這個表即可,這個表位於0xC0000000(在XP下還是如此)。例如0x12345678這個虛擬記憶體地址,就可以查看虛擬位址0x12345*4+0xC0000000,這裡的基地址為一個物理地址,然後加上12345678中的位移678即可。
2.PDE表對應的虛擬位址為C0300000
3.實體記憶體的前512MB被映射到0x80000000~0x9FFFFFFF(在WindowsXP後不再滿足這個)。

上面的情況都是針對不開啟PAE,最後說一點開啟PAE情況下的情況
想知道虛擬位址804fe000對應的物理地址。
(1)最簡單的用!pte命令:
kd> !pte 804fe000
               VA 804fe000
PDE at 00000000C0602010    PTE at 00000000C04027F0
contains 000000000034C163  contains 00000000004FE121
pfn 34c -G-DA--KWEV    pfn 4fe -G--A—KREV

804fe000的高10位0x201,每個PDE佔用16個位元組。0x201*16=0x2010。
804fe000的高20位0x804fe,每個PTE佔用8個位元組。0x804fe*8=0x4027F0。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.