2014-02-18 109 views
0

我被告知可以使用/proc/[pid]/pagemap找到與虛擬地址對應的物理地址。從/ proc/[pid]/pagemap獲取物理地址

我讀到這pagemap文件是64位條目的數組,其中位0-54對應的頁面幀號。我不知道如何從這個轉變到將虛擬轉化爲物理。部分地,我不知道如何在這個文件中找到我想要的條目;似乎沒有人指定它們如何編入索引。

此外,我不知道PFN是虛擬的還是物理的。不管怎樣,我不知道該怎麼處理PFN。我該如何繼續?

由於

+0

http://stackoverflow.com/questions/6284810/proc-pid-pagemaps-and-proc-pid-maps-linux – duck

+0

的可能的複製[如何解碼的/ proc/PID /頁映射條目在Linux?](https://stackoverflow.com/questions/17021214/how-to-decode-proc-pid-pagemap-entries-in-linux) –

回答

0

鴻溝VA由頁面大小(4096正常),使用作爲偏移到的/ proc /自/頁映射。然後取這個數字(頁面),乘以頁面大小(4096),並抵消你的VA%4094。

拉里