看板 LinuxDev 關於我們 聯絡資訊
※ 引述《ardenjay (惦惦)》之銘言: : : 個人想法,沒經過考證,大家討論一下 : : uclinux不支援mmu, module的PA是動態配置的,誰知道你要insomd時physical mem : : 剩哪些地方可以用? : : 沒mmu就不能做動態mapping(VA<->PA) ,那要怎麼動態配置記憶體給module呢? : : 自然就沒輒了 : : 個人想法,沒經過考證, too. : : 不支援mmu並不表示沒辦法做 "memory management" 吧? : 我可以很簡單的做個小型 boot loader,規劃一塊memory出來做heap : 這塊heap就可以用來動態配置計憶體… : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 118.169.226.157 : → ChampYen:這需求不是放置 data, 是放可執行的binary耶... 11/21 10:05 : 推 mecs:heap不是只能放data 11/21 11:19 : → ChampYen:當然不只能放data, 問題是pic or reloc 弄清楚再來推 11/21 11:28 : → elpam:boot loader? loader? 11/21 12:13 : 推 mayasky:但是binarary裡面branch的addr是相對或絕對固定的歐 11/21 13:20 : → mayasky:但你的phy addr卻不固定~勢必要有個mapping阿 11/21 13:22 1. 「module的PA是動態配置的,誰知道你要insomd時physical mem 剩哪些地方可以用?」, 「...那要怎麼動態配置記憶體給module呢?」 「pic or reloc」, 「...phy addr卻不固定...」。試想,有 MMU 的系統 如何解決這些問題?在有 MMU 的環境, module 的 virtual address 也是 動態配置的。 2. MMU-less 的系統當然可以做動態 memory management 。ardenjay 所說得 實際上也是許多簡單的 embedded system (without MMU enabled) 所使用的方式,這種情況下,常常沒有特別區分 bootloader 跟 embeded system (software)。 3. Heap 是指動態 memory management 可以使用的,如果沒有特別 的保護,這個區域可以讀、寫、以及執行。這跟 MMU-less 並沒有關系。 kernel module 必須是 PIC,不論有無 MMU。 4. uclinux 已經支援 LKM http://www.ucdot.org/article.pl?sid=03/01/24/0156235 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 174.48.126.243