Sanal, ben sanal birinden fiziksel adres elde etme bir sorun var.Linux (Ubuntu) C dili: Başlık da anlaşılacağı gibi Fiziksel Address Translation
Açıklamama izin verin: Süreç alanında bir değişken bildirimi verildiğinde, işletim sistemi tarafından eşlenen fiziksel adres nasıl elde edilebilir?
Bazı sys çağrıları /asm/io.h
tökezledim; burada virt_to_phys()
işlevi tanımlandı; Ancak bu başlık güncel değil gibi görünüyor ve bir iş bulamıyorum.
Ancak; io.h
şu adreste bulunabilir: /usr/src/linux-headers-2.6.35-28-generic/arch/x86/include/asm/
. Geçerli çekirdeğim 2.6.35-28
, ancak io.h
/usr/include/asm/
'a dahil değil mi?
/proc/PID/maps
bir monitör kullanmanın bir geçici çözümü bile yapacağız.
herhangi bir fikir veya yorumlar büyük takdir edilecektir.
DÜZENLEME bu konuda biraz araştırma yaptıktan sonra ben bu konuda yardımcı şey buldum. Geçici bir çözüm biraz gerektirmesine rağmen
O Bu yapılabilir daha fazladır çıkıyor. Geçerli haritalanmış sayfaları analiz eden basit bir uygulamaya link. Söz konusu dosya çıkıyor (bir ikili dosya) /proc/pid/pagemap
(sanal sayfaların fiziksel eşlemesini içerir). Her neyse, bu bağlantıdaki kod bir monitör uygulaması veya bir şey olarak hizmet etmek için değiştirilebilir.
Önbellek simülasyon amaçları için fiziksel adrese ihtiyacım vardı.
Yardım ve cevaplarınız için teşekkür ederiz!
Bunun için ne gerekiyor? –