Re: [問題] Linux 記憶體管理與MMU?

看板LinuxDev作者 ( )時間8年前發表 (2017/05/27 08:53), 8年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《xb1015 (Marco)》之銘言: : 小弟有一些問題想要請教各位大大 : 先前有看過作業系統 以及 ARM MMU介紹 : 對於MMU與Linux關係有點困惑 : 想要請教各為大大 : 一般在沒有MMU狀況底下(boot loader) : Linux可以直接讀寫任意memory address 透過 ARM CPU : 這樣可以很好理解Linux 可以掌控使用多少記憶體區間 : 在我看了MMU介紹,MMU是硬體元件 : 我想像流程如下 : 讀寫記憶體流程 : Linux --> ARM CPU --> logic address --> MMU --> physical address --> Memory bus --> Memory : 疑問如下: : 1. : Linux 記憶體管理是管理physical memory使用量嗎 ? 都會管,都合格才會給address 2. : 我理解Linux 應有一個 memory map table, 記錄 physical momory <--> logic memory, : 是否正確呢 ? (MMU enable) 雙向都有 logical->phy的確有page table 但實做上沒phy->logical的表,好像是個trie : 3. : 承上,Linux如何獲得logic memory呢 ?是否Linux知道physical --> logic memory : 演算法? 上面說了 我很久沒update...以前是radix tree之類 : 4. : 我知道kernel有指令ioremap,但是想不通如何做到記憶體轉換? : 到此, 我想有一些觀念是錯的 ? ioremap有pa當參數 只要kernel有va來對應,然後把這對應填進page table, 接著va傳給callee,就可以用拉 : 請大大不令賜教 : THX~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.11.192 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1495875201.A.A35.html ※ 編輯: mayasky (1.171.11.192), 05/29/2017 03:17:11
文章代碼(AID): #1PAJw1er (LinuxDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
1
2
完整討論串 (本文為第 2 之 2 篇):
1
2
文章代碼(AID): #1PAJw1er (LinuxDev)