看板 LinuxDev 關於我們 聯絡資訊
小弟有一些問題想要請教各位大大 先前有看過作業系統 以及 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
clampsakura: Google TTBR 05/19 15:13
descent: https://goo.gl/4xwV9Q 應該可以解你部份疑惑 05/19 22:10