推 mimiosu:謝謝~我有看到了~^^ 11/29 16:08
※ 引述《mimiosu (傾聽)》之銘言:
: 約耳提到:
: 聰明的程式師在配置記憶體時會用2的次方為大小(比如4位元組,8位元組,16位元
: 組,18446744073709551616位元組等等),讓malloc的潛在不隱定性降到最低。這樣
: 可以讓可用鏈結裡小碎塊的數量降到最低,而有玩樂高積木的人應該都能直覺理解
: 其原因。雖然似乎有點浪費空間,不過很容易就會看出浪費的空間不會超過總空間
: 的一半。
詳見恐龍本:記憶體相關章節,探討 內部/外部斷裂 部分
: -
: 我知道系統中可用記憶體的空間是用一個 list 串起來,要配置給 process 的時候
: 可以用,但是我還是不懂為什麼是 2 的次方比較好,請各位大大指點,或是提供相關
: 文件,謝謝~^^
雖然作業系統中記憶體是用一個list,
但每個prcoess所配到記憶體空間亦為2的次方。(此部分trace kernel可得知)
原因: 軟體觀點:看恐龍本
硬體觀點:白算盤
其實都差不多...
簡單來說:
電腦最基本的儲存單位為 bit ,1bit只有2種值(0或1)。
所以用2進位方式操作會最符合硬體使用的架構,
如果 1bit能有3種值的話,則用3的次方來操作會最好,其餘以此類推。
以上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.82