page-tables

    2熱度

    1回答

    ARM720T用戶手冊提到了小頁面和大頁面。由於ARM 720T需要在頁表中將64KB頁表條目複製16次,爲什麼不放置16個小頁(4KB)條目來模仿64KB頁條目,而不是首先使用大頁面?

    0熱度

    1回答

    讓我們說有兩個進程A和B. B需要在其頁表中插入一個新的框架。由於沒有空閒幀,我們必須換出一幀,並從磁盤引入B的幀。假設操作系統遵循全局頁面替換方案,並選擇一個我們有A的數據的框架。現在,爲了交換這個框架,我們需要在A的頁面表中改變相應的框架是無效的。爲了做到這一點,我們需要知道內存中的特定幀中哪些進程的數據存在,以便我們可以轉到它的頁表並將該位更改爲無效。這是如何實現的?內存中的每個框架是否也存

    1熱度

    1回答

    我有64 KB的頁面,4 GB的物理內存和一臺64位機器。 我瞭解到,64位機器導致256TB的虛擬內存。如果我必須計算每個進程的虛擬頁面數量,那麼簡單地說: 虛擬內存總量/頁面大小= 256TB/64KB = 4x10^9頁? 我已經在線閱讀文檔,但我沒有完全包裝它。

    1熱度

    2回答

    我無法理解頁面大小和頁面表項大小之間的差異。 從我的理解,頁面大小是用來劃分頁表在等於no。稱爲Pages的塊和相同的大小用於將主存儲器劃分爲多個幀。 頁面大小=幀大小。 對不起,繪畫技巧。這是我的頁表 凡爲頁表項大小是由每個頁面項所佔用的大小的可視化。所以, Page Table Entry Size = Page Size。 但是,頁表條目大小是通過幀號中的位數來計算的。 任何人都可以請解釋頁

    0熱度

    2回答

    頁表是由程序員創建的數據結構。那麼MMU如何知道如何訪問頁表呢?我知道MMU從頁表基址寄存器中獲取頁表的地址,但是它是如何在後面讀取頁表的? MMU不知道程序員創建的頁表的數據結構。 感謝

    1熱度

    2回答

    有人可以在內核頁表中解釋下面的宏嗎? #define pgd_bad(pgd) (!(pgd_val(pgd) & 2)) #define pmd_bad(pmd) (!(pmd_val(pmd) & 2)) #define pud_bad(pud) (!(pud_val(pud) & 2))

    0熱度

    1回答

    我在測驗中給出了一個問題「一個進程大小是2^6 +^2^12 + 2^23字節,系統的總內存大小是4GB,頁面大小是4k,有多少頁表有多少頁目錄和網頁?假設一開始所有的記憶是免費的嗎? 如何解決此問題?

    -1熱度

    1回答

    在Linux中,有一些函數用於索引pgd,pmd和pte,如pgd_offset,pmd_offset和pte_offset。誰稱這些功能? MMU是否使用這些函數來遍歷頁表? 我的理解是,linux內核爲每個進程創建一個頁表,並將頁表的基地址傳遞給頁表基址寄存器,以便MMU可以訪問它。之後MMU如何讀取頁表?如果MMU是閱讀頁表的人,誰使用這些pgd_offset等功能?

    0熱度

    2回答

    我一直在研究(在SO和其他地方)虛擬地址和物理地址之間的關係。如果有人能確認我對這個概念的理解是否正確,我將不勝感激。 頁表被分類爲'虛擬空間',幷包含每個頁面的虛擬地址。然後它映射到包含每個頁面的物理地址的「物理空間」。 維基百科圖讓我更清楚地解釋: https://upload.wikimedia.org/wikipedia/commons/3/32/Virtual_address_space

    1熱度

    1回答

    如果虛擬內存有32位地址,那麼有2^32個條目,或者是總條目2^32字節的大小?或兩者? 我問的原因是因爲我認爲它只意味着2^32 entires。 做以下的問題後,我不知道: 假設一臺機器有48位虛地址和32位物理addresses.If頁面4KiB,多少條目是否在頁表中,如果它只有一個級別? 解決方案:2^48/2^32 = 2^16頁。 但是,條目數量/頁面大小!=頁數。 總條目大小/頁面大