virt_to_phys() 和 phys_to_virt() 都定義在 include/asm-i386io.h中
virt_to_phys() => __pa()
phys_to_virt() => __va()
對於提供了MMU(存儲管理器,輔助操作系統進行記憶體管理,提供虛實地址轉換等硬體支持)的處理器而言,Linux提供了複雜的存儲管理系統,使得程序所能訪問的記憶體達到4GB。
程序的4GB記憶體空間被人為的分為兩個部分 => 用戶空間與內核空間。(User space & Kernel space)。
用戶空間地址分佈從0到3GB(PAGE_OFFSET,在0x86中它等於0xC0000000),3GB到4GB為內核空間。
全站熱搜
留言列表