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為內核空間。




 

arrow
arrow
    全站熱搜

    BB 發表在 痞客邦 留言(0) 人氣()