Mac OS X 10.6 Snow Leopard 使用十進位磁碟空間計算方式

*原發布於Take Five

我本以為這新聞會引起更多注意,可是似乎沒有,也許需要點時間吧。

假設你今天走進某某 3C 買了條 2 GB 的隨身碟。回家插進電腦,電腦卻會告訴你,你只有 1.86 GB 的空間。

[fearsome snow leopard from apple]

但如果你是麥克一族,而且還是特別摩登那種,已經更新到Mac OS X 10.6 「雪豹」,豹兄會告訴你,你有 2 GB 的空間。

套用一句流行話,「花生省魔術」?

***電腦常識 101 開課囉!***

(怕上課的,或是本來就懂的的趕快跳到分隔線下)

很多人都知道,對電腦來說,什麼東西看起來都只是 0 和 1 。有和沒有。Yes 和 No。凸起來的按鈕和押下去的按鈕。各種資料儲存媒介基本上都是數不清的小「按鈕」。

但是,提到資料量計算的單位,就有不少人是一知半解的了。所以,咱們說書要從最小單位開始說起…

最小的空間單位,也就是一個「按鈕」的量,叫做一個 bit。它的縮寫是小寫的 b。可是只有一個「按鈕」實在是太寒酸了,想拿來記錄隨便一個數字都不夠用。因此,按鈕商(?)決定特賣一組八個。八個一組的小 b 取名叫 byte,縮寫是大寫的 B。記住,八個小 b 等於一個大 B。

科技一日千里,才幾年功夫,今天我們的硬碟什麼的容量都是成千上萬個 bytes。英文裡的公制單位本來就有一系列用字首來形容特大數字的方法,叫 SI Prefix 或 Metric Prefix:

符號字首讀法倍數
kkiloㄎ一ㄌㄡ1,000
Mmegaㄇㄟㄍㄚ1,000,000
Ggigaㄍ一ㄍㄚ1,000,000,000
Tteraㄊㄝㄖㄚ1,000,000,000,000

*註一:注音符號讀法純粹為娛樂效果…
*註二:曾經有人問我,到底 giga 是讀ㄍ一ㄍㄚ還是讀嵇ㄍㄚ?當時我也不知道,但是現在我可以告訴你:兩者都是被接受的讀法。

這個有點科學常識的人應該都很熟悉,像是一公斤(kg)等於一千個公克(g)。你說,這群老外也真好玩,幹嘛都一次加三個零?可是偏偏老外沒有「萬」和「億」這些單位,有的是千 (thousand),百萬 (million),十億 (billion)和兆 (trillion)。比對一下,剛好就是上面的單位。

好吧,可愛的學生們,重點來了。聰明的電腦工程師們想借用 kilo 這個字首。可是對電腦來說,資料都是 0 和 1 啊,所以電腦裡面的數字全都嘛是二進位 (講到進位法讓我想起一頁很可愛的漫畫,下次再介紹)。剛好,210 是 1024,跟 1000 差不多。工程師們說,我們就把 1024 個 byte 叫做一個 kilobyte 好了,簡稱 KB (大寫 B 喔)。接下來很自然的,1024 個 kilobyte 被叫做 megabyte (MB), 1024 個 megabyte 被叫做 gigabyte (GB)。

舊簡稱舊全名幾個大 B (byte)新全名新簡稱
KBkilobyte1,024kibibyteKiB
MBmegabyte1,048,576mebibyteMiB
GBgigabyte1,073,741,824gibibyteGiB
TBterabyte1,099,511,627,776tebibyteTiB

上述的單位用法在資訊電子業就這樣傳承了下來,幾乎所有作業系統都延用了這個標準。可是呢,曾幾何時 — 賣硬碟的公司開始做自己的一套:他們回去把 mega,giga 等等字首延用 SI 標準。說是遵循標準也好,說是容量灌水也好,硬碟廠商的容量描述就因此硬是比電腦偵測到的要大上幾個百分比。

譬如說,一顆號稱 100 GB 的硬碟,實際上的確有 100,000,000,000 個 byte 的容量。可是電腦認識的 GB,由上表可見是比 109 要來得大了約 7%,所以電腦看這顆硬碟的容量只有 100,000,000,000 除以 1,073,741,824 個 GB,也就是大約 93.1 GB。

呼~~ 大數字。看起來蠻嚇人的。班長,起立敬禮。

===== 分隔線 =====

雖說是下課了,可是上面的表格裡後兩欄的「新全名」和「新簡稱」又是怎麼回事?

原來這是 2002 年 「電機電子工程師學會」(IEEE) 所訂立的 IEEE-1541 標準裡,新採用的命名。說起來也很簡單,你想用二進位的單位,好沒問題,可是換個字,以免 mega,giga 等字首跟其他標準對衝。太好了,全球電腦廠商一致跟進… 才怪。

全世界的主要執行系統 (Windows, Linux, Unix, Mac OS X) 都繼續用舊格式,直到…

…前幾天才剛正式上市的 Mac OS X 10.6 “Snow Leopard” (雪豹) 首先打破僵局,並開始使用 MB 來代表 106 bytes,GB 來代表 109 bytes 等等。所以終於你買的 500 GB 硬碟,插上去真的會顯示 500 GB,而不再讓你覺得奇怪最後那幾十 GB 跑哪去了。

許多英文網站陸陸續續刊登了這個消息。我本來還以為會引起軒然大波,但很遺憾,只有在各個科技相關網站的討論版裡引起些舌戰。唉,原來我比自己想像得要 geeky 許多。(geeky:geek 的形容詞。geek:大致上形容那種有點像瘋狂科學家的人。有人知道中文裡有什麼替代詞嗎?)

還是說別人早就知道這回事,只有我在大驚小怪… 總之蘋果此舉有人恨有人愛,也有很多人搞不懂或沒發現。至於我呢,我預訂的雪豹還沒來,我也不急著升級。反正實值上硬碟也不會因為計算方法改變就多一塊或少一塊,而且蘋果本來不是就標榜 「Think Different」,1998 年還率先拋棄 1.44 軟碟機。所以我的態度是單純的隔岸觀火,看那些 IT 界的老鳥們去吵。不過目前雪豹好像沒辦法選要用哪種格式,我覺得也許該讓使用者能自己選擇。

目前為止看到一些贊成/反對的立場包括,

+ 率先使用標準格式,這樣才能減少消費者的疑惑啊!
+ 電腦業裡的這個積習早該改了,現在不改更待何時?
+ 人看十進位順眼,電腦處理十進位也沒問題,為何不用?

– 硬碟廠商用那種格式只是為了數字灌水,Apple 你是被多少大鈔收買的?
– 電腦上最自然的進位法仍舊是二進位,舊格式才是正確的設計原則!
– 大家都用舊格式用了幾十年了,1 KB = 1024 bytes 早就是基本常識,又不困難,幹嘛改它?

你對蘋果的作法有何看法?會造成什麼不便甚或大小災難嗎?其他系統平臺會跟進嗎?

(圖:…雪豹兄「借」自蘋果首頁)
(主資料來源:Wikipedia ,各大科技新聞網與討論版,IEEE-1541 – Wikipedia)

Leave a Reply

Your email address will not be published. Required fields are marked *