精華區beta CSSE 關於我們 聯絡資訊
※ 引述《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
mimiosu:謝謝~我有看到了~^^ 11/29 16:08