在看二級頁表的時候,一直卡在下面這個地方不太理解。后面想通了,記錄一下。
先看下頁表項的格式:
本例中頁內偏移量為12位,所以頁面大小為4KB。每個二級頁表項覆蓋的地址空間為4KB。每個頁表項32bit,占4個字節,所以一個頁可以容納1024個頁表項,一個一級頁表項覆蓋的地址空間為1024*4KB(4MB)。一級頁表共有1024個頁表項,可尋址范圍為0~4GB。
對於虛擬地址0x00403004,PT1=1,PT2=3,Offset=4,尋址步驟分為三步:
1、 根據PT1的值索引頂級頁表,在表項1中可以取出二級頁表的地址(頁框號);
2、 根據1)中檢索出的二級頁表地址加PT2的值檢索出一個二級頁表項,該表項中包含頁框號;
3、 2)檢索出的頁框號加Offset偏移量得出物理地址。