看板 LinuxDev 關於我們 聯絡資訊
小弟有些記憶體方面的問題,煩請版上各位大大指教 基本上有MMU的系統在應用程式端所看到的應該都是虛擬記憶體,小弟想要 寫一個可以測試Linux記憶體的程式但不知如何下手 問題一、Linux kernel載入的位址是固定的嗎?(以真實記憶體而言) 問題二、如果是固定的,請問是誰去限定他要載入到哪一個位址?(是bootloader嗎?) 要怎樣去得到linux kernel的實體位址及所佔大小?(以便進行剩餘空間測試) 問題三、如果可以得知的話,撇開被其佔住的實體記憶體空間不談, ,請問要如何去測試剩餘的實體空間呢?(讀寫測試) (是用mmap嗎?mmap印象中是將硬體裝置上的記憶體映射到虛擬記憶體, 現在說的是RAM本身的測試,可以舉個簡單的參考範例或是何處有 可以參考的資料,如果是有simple code就太感謝了) 現在被記憶體映射搞的一頭霧水,當Linux OS及MMU起來後,到底要怎麼利用 Hardware所給的實體記憶體對應表,透過應用程式端去指到表上所訂出的實體位置。 拜謝各位大大了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.104.35
lunatich:1.對 2-1.對 2-2.看image大小 09/20 10:40
lunatich:按錯...推回來 09/20 11:24
elpam:memtest86 <- 有Source Code 09/21 17:27
elpam:有MMU 怎麼做Test,你敢動Kernel的記憶體嗎 @@" 09/21 17:27
Hfoxconn:所以才會想要算出kernel大小然後測試其餘的地方,memtest 09/21 21:40
Hfoxconn:86是在run time下執行嗎?他好像是要在OS起來前做<這樣 09/21 21:45
Hfoxconn:就不在MMU下了,是否在有MMU的狀況下是不可能去測記 09/21 21:48
Hfoxconn:憶體呢? 09/21 21:52
elpam:去看一下IDT與GDT的概念後 你才能了解這些問題吧 09/23 01:55
elpam:ARM/x86的測試mem的方式都一樣 對某一個ADDR做寫入然後讀出 09/23 01:55