操作系統-內存管理-地址基礎知識

計算機存儲單位之間的關係

位 bit (Binary Digits):存放一位二進制數,即 0 或 1,最小的存儲單位。

字節 byte:8個二進制位爲一個字節(B),即1B = 8bit,最常用的單位。

計算機存儲單位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB來表示,它們之間的關係是:

1B (Byte) = 8b(bit )

1KB (Kilobyte ) =2^10B =1024B

1MB (Megabyte ) =2^10KB =1024KB

1GB (Gigabyte ) =2^10MB =1024MB

1TB (Trillionbyte) =2^10GB =1024GB

1PB(Petabyte ) =2^10TB =1024TB

1EB(Exabyte ) =2^10PB =1024PB

1ZB (Zettabyte ) =2^10EB = 1024 EB

1YB (Yottabyte ) = 2^10ZB =1024 ZB

1BB (Brontobyte ) = 2^10YB =1024 YB

也就是說 1GB 等於 2 的 30 次方的Byte

問題

爲什麼32位機器對應的虛擬內存最大隻能到 4G 呢, 這是如何算出來的?

過程推算

假如給你只有三位的地址空間,那麼你能用這個三位的地址空間表示多大空間的內存呢,也就是三位裏面,每位有兩種結果,0或者1 ,總共 8 種結果(2的3次方),也就是說 32 位那麼範圍就是0到32個1 ,總共是 4GB 的內存大小

 2^32B=2^(2+10+10+10)B=2^2*(2^10*2^10*2^10)B=4GB ( 由上面就可以知道 1GB = 2的30次方B )

延伸

假如存儲體積來說 , 1個格子只能放0和1 , 分兩部分 ,一部分是地址,一部分是儲存空間
地址:32個格子
儲存空間:4GB個格子
32個格子可以用來給 4GB 存儲體積排編地址編號 , 那麼地址長什麼樣呢 ? 0或者1是二進制, 要寫很長, 不方便 ,我們一般用16進制來表示,

0x100000000 (1後面8個0)

操作系統分配的虛擬地址一般都是以 0x08048000開始的 ,現在再來看這個地址就非常熟悉了 ,這絕對是 32位系統哇 !! 位數和我們剛纔推算的一樣

參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章