-1
在Linux中,有一些函數用於索引pgd,pmd和pte,如pgd_offset,pmd_offset和pte_offset。誰稱這些功能? MMU是否使用這些函數來遍歷頁表?Linux頁面表
我的理解是,linux內核爲每個進程創建一個頁表,並將頁表的基地址傳遞給頁表基址寄存器,以便MMU可以訪問它。之後MMU如何讀取頁表?如果MMU是閱讀頁表的人,誰使用這些pgd_offset等功能?
在Linux中,有一些函數用於索引pgd,pmd和pte,如pgd_offset,pmd_offset和pte_offset。誰稱這些功能? MMU是否使用這些函數來遍歷頁表?Linux頁面表
我的理解是,linux內核爲每個進程創建一個頁表,並將頁表的基地址傳遞給頁表基址寄存器,以便MMU可以訪問它。之後MMU如何讀取頁表?如果MMU是閱讀頁表的人,誰使用這些pgd_offset等功能?
MMU以後如何讀取頁表?
MMU正在使用硬件加速方法來讀取內存。實際查找是特定於體系結構的:就像指令解析過程一樣。
誰使用這些pgd_offset等功能,如果MMU是一個讀頁表?
有時,內核代碼想要通過虛擬地址查找struct page
。它必須使用這些函數才能做到這一點(AFAIK,沒有用於MMU地址查找的API,因此它也必須在內核中實現)。
Look [here](http://lxr.free-electrons.com/ident?i=pgd_offset)。 – Downvoter