Linux High Memory 筆記

來源:互聯網
上載者:User

Linux 核心佔據線性空間的3G~4G(32位)(/include/asm-i386/page.h中,由__PAGE_OFFSET指定,#define
__PAGE_OFFSET    (0xC0000000)),所以能直接映射到Linux核心空間的實體記憶體不可能大於 1G,Linux設定這個值為 896M,儲存在high_memory變數中,因此,實體記憶體中高於896M的被稱為 high memory;那麼Linux核心如何定位high memory?這就是Linux為什麼不用1G線性空間來直接映射實體記憶體,而只用了896M,剩下的128M線性空間就是動態映射
high memory 的,當然這些映射都是暫時的,需要映射另外一部分 High Memory 時,需要替換這些映射,具體參看Understanding Linux Kernel。


基於以上的解釋,64位Linux 下,核心線性空間不局限於1G,不會有這個問題。


看到 Linux Kernel Development 3rd,High Memory Mappings 這一節,上來就講high memory是怎麼映射,用什麼函數,結果連什麼是highmemory都沒講清楚,搞得一頭霧水,還好Understanding Linux Kernel 上有很好的解釋。


參看:Understanding Linux Kernel,Kernel Mappings of High-Memory Page Frames 一節

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.