[問題] Linux 記憶體管理與MMU?
小弟有一些問題想要請教各位大大
先前有看過作業系統 以及 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
05/19 15:13, 1F
→
05/19 22:10, , 2F
05/19 22:10, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章