2011/04/14

64-bit 的疑惑


Apple 一直對外宣傳,在 2009 年 8 月推出的 Mac OS X 10.6 Snow Leopard 是一個 64-bit 的操作系統。但最近有報導說,剛推出的 MacBook Pro (2011) 預設是以 64-bit 來啟動的,於是又有不少朋友向我查詢,究竟他的 Mac 是 32-bit 還是 64-bit 這樣的疑惑。

大部份朋友都知道,64-bit 會比 32-bit 更快及更有效率,就像是 64 線行車的公路會比 32 線行車的公路更有效疏導交通,所以都想自己的電腦是 64-bit。可惜,如果你的 Mac 是在去年或更早前購買的,你的 Mac 很大機會是用 32-bit 核心(Kernel)來啟動的。那 Apple 是否欺騙了你呢?

簡單來說,我會把 Mac 分成兩個層次,就是「系統」「核心」

Apple 所指的 32-bit 或 64-bit,一般是指「系統」層次,而在大多數的 Intel Mac 上(Core Duo 及 Core Solo 機種例外),Mac OS X 10.6 Snow Leopard 是以「64-bit 系統」來運作,而且能同時執行傳統的「32-bit 軟件」及新一代的「64-bit 軟件」,不需任何設定,對用家不會造成任何困擾。隨著時間過去,會有越來越多的 Mac OS X 應用軟件以 64-bit 重寫,能大大提升效能及速度。例如最近公佈的 Final Cut X,就是以 64-bit 來重寫的。

不少應用軟件,會同時推出 32-bit 及 64-bit 版本,供不同用家使用。

但在 MacBook Pro (2011) 前的很多機種,Apple 卻是刻意預設用「32-bit 核心」而不是「64-bit 核心」來啟動,結果造成這個「32-bit 核心」配上「64-bit 系統」的現象。

你可以打開「應用程式」>「工具程式」>「系統描述」,按著左面的「軟體」,檢視右面「64 位元 Kernel 和延伸功能」,若顯示「否」的話(如圖),你的系統就是「32-bit 核心」了。


為甚麼 Apple 決定用「32-bit 核心」而不是「64-bit 核心」呢?「64-bit 核心」不是更快更好嗎?答案是為了要「兼容」舊的「32-bit 核心」,包括各類未趕得及更新的「32-bit 核心及延伸功能」。

跟「系統」的情況不同,「64-bit 核心」只可以執行「64-bit 核心及延伸功能」程式,並不能兼容舊的「32-bit 核心及延伸功能」程式;加上在大部份情形下,使用「64-bit 核心」不見得比「32-bit 核心」有很明顯的速度提升;所以 Apple 就選擇了「32-bit 核心」,支持「更高的兼容性」、放棄了「輕微的速度提升」。

當然,如果你的 Mac 是支援「64-bit 核心」的話,Apple 並不禁止你自行改用「64-bit 核心」來啟動電腦,而方法也很簡單:只需要在開啟電腦時同時按著「6」及「4」這兩個鍵,直至聽到「噹」一聲的開機聲音才放手,你就能啟動「64-bit 核心」了,可以在「系統描述」內確認是否成功。

我估計,很多朋友一定會急不及待嘗試「64-bit 核心」的滋味,先讓我說一個故事。


不久前,有一位朋友攜同他的 MacBook Pro 找上 Mactivity,說他的 MacBook Pro 在插入 3G 流動上網裝置時,有很多奇怪的問題發生,甚至會當機、死機;但把該 3G 流動上網裝置安裝在另一部 MacBook Air 則很𣈱順。聰明的你,一定猜到是甚麼原因了。不錯,這位朋友就是在他的 MacBook Pro 上貪玩啟動了「64-bit 核心」。一直以來,他並不知道「64-bit 核心」究竟比「32-bit 核心」快了多少,也未享受到「64-bit 核心」帶來的樂趣,卻已經深深領略到它帶來的苦果。在聽了我的意見後,他即時按著「3」及「2」這兩個鍵來開機,重新啟動「32-bit 核心」後,一切就回復正常了。

對一般用家,只要你的 Mac 是穩定可靠,又何必理會「核心」是 32-bit 或是 64-bit 呢?但如果你很清楚「64-bit 核心」會帶來一定程度的兼容問題,又願意一試的話,我也想知道究竟「64-bit 核心」對你的工作會帶來多大的改善,歡迎留言跟大家分享。

9 則留言:

匿名 說...

這一篇講得真的很清楚!
我想大多數人對於64bit核心運作,應該都用不太到吧!
因為上上網、打打文件、修修照片都是現在就能輕鬆辦到的事。

匿名 說...

又學到野!! thx johnny!!

安迪連 說...

這篇真的很棒!

RaymondT 說...

如果我是用fcp剪片,又會可會有很大分別?

Johnny Chan 說...

謝謝大家喜愛這個種類的文章。

Raymond,現在的 FCP 還是 32-bit,我估計你即使把 Kernel 改為 64-bit,也不會有多大幫助,還是等下一代的 Final Cut X 吧。

admin 說...

Apple真的好攪笑,按 64 就是 64-bit,按 32 就是 32 bit。

.亮 說...

长知识了,多谢Johny!

goldgoldgold 說...

thanks a lot! very useful tips!

匿名 說...

Hi Johnny,
你好,我係首次留言俾你,但你個blog我都有keep住睇,
真係可以學到好多關於Mac嘅嘢,同埋都曾經上過你寫
字樓同你傾過計,你真係好nice.
言歸正傳,我的32bit同64bit的疑惑,在2010年5月配置咗
部新MacBook Pro, Intel Core i7,2.6 GHz,8 GB Ram,
印象中當時好似睇過 64 位元 Kernel 和延伸功能嘅顯示
係"是",當時才放心,不過而家真係有D蕪糊.
但係在2011年1月,部MacBook Pro因有D原因同Apple Care重新換咗部全新機,仲upgrade到2.8 GHz,
但係用落其實都仲有小小問題,不過都暫時冇同Apple攪.
咁啱上星期部機又有問題,喺睡眠狀態中,我一按鍵唸住開機,
就無端端出現Kernel Panic畫面,跟住就攞咗去CASE到check,最後佢哋話同我換咗塊底版,又咁啱睇到你個blog,
我再check個Kernel 和延伸功能,竟然顯示係"否",
所以我先至有呢個疑問.
首先想請教,照年份同月份計,我部舊機同新機是否64bit?
如果真係64bit,維修人員會唔會避免我部機再有Kernel Panic出現,就將部機轉去32bit?因為我睇過部機裏面D延伸 功能同應用程式,Apple 內置嘅全部都係64bit.
請問除咗你教呢個方法之外,仲有冇第二個方法可以自己
check到係32bit或64bit? 請賜教.
以上咁長編,請勿見怪.