Windows PAE 定址

來源:互聯網
上載者:User

標籤:

PAE 就是實體位址延伸。我們常規的定址方式是之前的將虛擬位址化為10 10 12的方式來定址頁目錄,頁表,頁位移,但是在開始PAE之後的定址方式發生了改變,將32位的虛擬位址轉化成 2 9 9 12的方式來定址:

理論就不贅述了,和普通的定址方式沒有太大的差別,具體可以參考之前的文章:x86虛擬位址到物理地址的學習,主要的差別就是由二級頁表衍產生三級頁表。

31~30: 頁目錄指標表的索引 

21~29: 頁目錄表索引 

12~20: 頁表索引 

0~11:   頁內位移

下面以一個簡單的例子來學習:

int _tmain(int argc, _TCHAR* argv[]){    char szName[20] = "HelloWorld";    printf("szName:%x\n",szName);    getchar();    return 0;}

 

 列印出的地址是0x12ff4c,我們接下來就在物理地址中找到我們的“Hello World”

12 f f4c
頁目錄指標表的索引          頁目錄表索引            頁表索引                    頁內位移
            00                  0 0000 000          1 0010 1111           1111 0100 1100
             0                         0                        12f                           f4c

cc.exx進程的頁表目錄指標的物理地址是10b00200,而目標目錄指標索引為0,所以就是5a8a4001,因此頁目錄表的物理首地址就是5a8a4000。

而我們的頁目錄表索引也為0:

頁表的物理頁首地址就是5a5b3000,而頁表索引是0x12f 因此頁表項為5a5b3000+0x12f*8:

所以我們的物理頁首地址就是5a8b7000,而頁內位移是:f4c,因此szName的物理地址為5a8b7f4c:

 

Windows PAE 定址

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.