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

看板LinuxDev作者 (Marco)時間8年前 (2017/05/19 14:08), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
小弟有一些問題想要請教各位大大 先前有看過作業系統 以及 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使用量嗎 ? 2. 我理解Linux 應有一個 memory map table, 記錄 physical momory <--> logic memory, 是否正確呢 ? (MMU enable) 3. 承上,Linux如何獲得logic memory呢 ?是否Linux知道physical --> logic memory 演算法? 4. 我知道kernel有指令ioremap,但是想不通如何做到記憶體轉換? 到此, 我想有一些觀念是錯的 ? 請大大不令賜教 THX~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.201.188 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1495174128.A.E1B.html

05/19 15:13, , 1F
Google TTBR
05/19 15:13, 1F

05/19 22:10, , 2F
https://goo.gl/4xwV9Q 應該可以解你部份疑惑
05/19 22:10, 2F
文章代碼(AID): #1P7elmuR (LinuxDev)
文章代碼(AID): #1P7elmuR (LinuxDev)