0
考慮以下頁表執行程序如何使用頁表來虛擬地址轉換爲物理地址
虛擬頁#:0 1 2 3 4 5
頁幀#:8 3 9×0 1
程序生成32位虛擬地址,每個地址由512個字組成。該程序生成以下虛擬地址1749.它映射到什麼物理地址
考慮以下頁表執行程序如何使用頁表來虛擬地址轉換爲物理地址
虛擬頁#:0 1 2 3 4 5
頁幀#:8 3 9×0 1
程序生成32位虛擬地址,每個地址由512個字組成。該程序生成以下虛擬地址1749.它映射到什麼物理地址
您首先計算出該地址屬於哪個虛擬頁面,該虛擬頁面的偏移量,然後使用頁表查找等效項實際地址。
假設虛擬地址空間是線性的,沒有空洞,可以通過除以頁面大小(在你的情況下爲512)來完成從地址到頁面的轉換。 頁面內的偏移量是虛擬地址和虛擬頁面起始地址之間的差異。
在上面的例子中,虛擬頁是第3頁,用的偏移213
你再看看這相當於3個虛擬頁面在頁面表的物理頁。這裏是x
。所以物理地址將是(頁面起始處的物理地址+頁面偏移),即(頁面X起始處)+213。
頁面X的開始,再次假定沒有孔的線性映射將是(頁面大小* x
)。
所以該物理地址將是:
(page_size * x) + offset
這裏:
(512 * x) + 213
所以logbase2(512)= N因此N = 9,所以該偏移位= 9.如何從出發那裏 – bobo 2011-03-27 12:24:19