2014-12-07 27 views
-1

你如何回答以下問題:如何查找可用於特定虛擬物理地址映射的最大頁面大小?

「如果我們有其中的虛擬地址映射0x52D2C3A3到物理地址0x13A103A3的系統,什麼是可能被用於此映射的最大頁面大小?」。

不要跳過細節,我試圖理解。我也不只是需要答案,我已經有了答案。我只想知道你是如何解決這個問題的。

+0

在你的作業問題中刪掉上下文中的一句話沒有任何意義,也不包括如何找到正確答案的提示。它與http://stackoverflow.com/a/26800888/2626313 – xmojmr 2014-12-07 19:55:52

+1

很好地一致。告訴我一些關於它的句子。這是問題,沒有別的。沒有任何暗示,沒有任何東西。 答案是:「最大的頁面大小將是16K,因爲14個低位是相同的,2^14 = 16,384 = 16K。低位位組成頁面偏移,它總是相同的虛擬地址及其映射到物理地址。「但我不明白你是怎麼想出來的。 – user2997154 2014-12-07 20:13:26

+0

假設這不是抽象CPU上的假設尋址,並且假定操作系統是Linux,那麼在閱讀http://www.cs.utexas.edu/users/witchel/372/lectures/15.VirtualMemory.pdf後,如果你理所當然地認爲虛擬地址是'(頁碼,偏移量)'而物理地址是'(幀號,偏移量)',並且所有的地址轉換都將'頁碼'映射到'幀號' – xmojmr 2014-12-08 13:25:38

回答

0

低位位組成了虛擬地址和映射到物理地址之間始終相同的頁面偏移量。因此,我們需要找到給定的十六進制值的低位。

0x52D2C3A3 = 0000 0000 0101 0010 1101 0010 1100 0011 1010 0011

0x13A103A3 = 0000 0000 0001 0011 1010 0001 0000 0011 1010 0011

由於第一14個比特是相同的,最大頁面大小2exp14 = 16 384 = 16k。

相關問題