mobile memory到底是怎麼計算出來的

2021-05-21 18:27:25 字數 1689 閱讀 8391

pages

size (bytes)

size (mb)

address

physical ram

13924

57032704

54.39

kernel prealloc.

71

290816

0.28

0x8057c000 - 0x805c2fff

paging pool

1285

5263360

5.02

0x805c3000 - 0x80ac7fff

kernel ram map1

4096

0.00

0x80ac8000 - 0x80ac8fff

watson size

75

307200

0.29

0x83b95000 - 0x83bdffff

overhead4

16384

0.02

object store8

32768

0.03

program memory

12480

51118080

48.75

我們用windows mobile

自帶memory

去檢視系統的記憶體大小,以我的機器為例,我會看見

48.75mb

。可以看出這個數值就是

program memory

。可是實際上我有

dram 64mb。

計算一下上表,發現:

physical ram= kernel prealloc+ paging pool+ kernel ram map+ watson size+ overhead+ object store+ program memory

值得注意的是

paging pool

是乙個大頭,在配置它的大小時要特別注意。

另外,上表中中間一列

size

的大小都是

pages x 4096

,所以它是頁對齊的。 可是

64mb-54.39mb=9.61mb

,它跑到**去了? 開啟

bsp中的

config.bib

,我的dram

從0x8000,0000

開始64mb

,其中核心基位址是

0x8020,0000。

0x8000,0000-0x8020,0000

的2mb

是reserved

區域,nk

之後還有

4mb的

reserved

區域。這樣就有

2+4=6mb

保留。再看

nk中,

0x8020,0000-0x8057c000

大概還有3點多

mb,它是

nk的程式和**段。一次這就是

9.61mb

跑掉的原因。

綜上,這就是

dram

的空間分配。

this到底是誰

js中函式的4種呼叫方式 1.作為普通函式來呼叫 alert window.xx undefined function t t alert window.xx 333 解釋 作為普通函式來呼叫this時,this的值指向 windwo,準確的說,this為null,但被解釋成window,在ecma...

Segmentation fault到底是何方妖孽

那麼對於任何沒有經過 mmu對映過的虛擬空間的位址,不管程序是執行寫操作還是讀操作,作業系統都會捕捉到這個錯誤的非法訪問,然後輸出乙個 segmetation fault 的錯誤提示資訊並強行終止程序。程式之所以會時不時的出現 segmetation fault 的根本原因是程序訪問到了沒有訪問許可...

孔子到底是誰?

提起孔子,想必中國人都知道,甚至比熟悉人民幣還熟悉他。因為對他的炒作已經延續了幾千年,使得這位山東大漢紅的發紫,但孔子到底是誰呢,擁有這麼大的魔力,在中華幾千年文化中處處留下他的烙印,使得 孔子門 經得起千年歲月的沖刷,依然濤聲依舊。其實孔子是被歷代帝王捧紅的,也就是說,孔子是中國被炒作最厲害的人物...