3
目前我嘗試爲Unix編寫一個內存黑客庫。 但是我使用ptrace/procfs遇到了很多問題,所以我決定寫一個驅動程序。Linux驅動程序:從不同的用戶進程複製內存
問題是,我無法找到一種方法來從不同的虛擬內存空間(我只知道copy_from_user()等))比調用者檢索內存。
有誰知道一個好的解決方案? 謝謝:)
問候, 弗洛
目前我嘗試爲Unix編寫一個內存黑客庫。 但是我使用ptrace/procfs遇到了很多問題,所以我決定寫一個驅動程序。Linux驅動程序:從不同的用戶進程複製內存
問題是,我無法找到一種方法來從不同的虛擬內存空間(我只知道copy_from_user()等))比調用者檢索內存。
有誰知道一個好的解決方案? 謝謝:)
問候, 弗洛
您可以映射來自兩個不同的存儲空間的虛擬內存頁面到內核空間,在內核地址空間執行復制操作,然後取消映射的頁面。
ptrace很混亂,但它是批准其他過程的方式。你確定你不能學會如何使用它嗎? – 2011-04-08 13:55:55
我知道如何使用ptrace,我的問題是我被迫停止正在運行的進程,以便能夠從/ proc/[pid]/mem讀取或寫入它。停止一個進程來複制幾個100MB只會造成不可接受的延遲。我知道這個過程有被阻止的原因,但在我的情況下,我沒有任何關於種族條件或類似的問題。 – Flo 2011-04-08 14:12:46