標籤:

iPhone 能不能運行 OS X?

這種可能性有嗎?


這其實要看你對於運行的定義了。

Steve Jobs 在當年發布 iPhone 的時候就說過:「iPhone runs OSX」,雖然這句話有點騙人的成份在內。

一個典型的 OSX 應用,依賴於三個 Framework: AppKit, Foundation, CoreGraphic。

一個典型的 iOS 應用,依賴於三個 Framework: UIKit, Foundation, CoreGraphic。

不嚴謹地來說,差距只在於 UI Framework的一些區別,所以很多應用的底層代碼,是可以直接通用的,再加上系統的底層,這才是老喬說的 "iPhone runs OSX"的意思。

OSX 有著非常良好的底層基礎,Apple 也已經兩次證明了他們對於晶元架構的遷移能力,一次是 PPC 轉 Intel, 現在還有了 ARM。

從系統底層來說,是沒有任何問題的,現在 OSX 和 iOS 已經是很好的證明了。但是,由於現在 OSX 是 x86 架構的,不能直接運行在 ARM 晶元上,但是 Apple 如果想要做,有 iOS 的經驗,是很快的事情。現有的 OSX 應用的 binary 也是不能直接運行在 ARM 晶元上的,但是只要 Apple 提供了編譯工具,大多數應用只需要重新為 ARM 晶元編譯下就 ok了。

系統 UI 方向上來說,像 Windows 8在 Surface Pro 上面的那種感覺,可滑鼠,可手指操作,不可能。因為 Apple 已經明確表示過,他們認為 Mac 和 iOS 設備是有著很大的區別的,運行同一套 UI 是行不通的,他們不會那麼做。所以這兩個系統永遠是不會融合為一體的。更不可能在 iOS 設備上拋棄 iOS,去轉而運行 OSX。

所以總的來說,技術上,問題不是特別大,但是這一天永遠不會到來,Apple 不會這麼干。

有可能發生的事情是:

1. 以後電池技術發生重大突破,Intel 晶元的能耗大不再是個問題,那麼 iOS 全面轉向 Intel 晶元架構也是有可能的,但是也還是不會讓 OSX 跑來 iOS 設備上。

2. 以後 ARM 的晶元足夠給力了,OSX 全面轉向 ARM 架構,這也是有可能的,畢竟能耗很有優勢。


目前不能。

因為OS X需要運行在Intel X86架構的CPU上,即我們運行windows的PC機。

而iPhone是基於ARM的移動CPU,跟Android手機類似。

換個角度橫向來說:

平台的壁壘大於廠商的壁壘。

==========

補充一下

iOS和OS X的關係

在某種程度上可以類比為

Android(基於Linux)和桌面平台的Linux

Windows Mobile、Windows Phone 或 Windows RT 和桌面版Windows


其實我覺得有點像遊艇能否搞遠洋貨運。

可能性肯定是有,從眾多Linux可以運行在採用ARM架構處理器的系統上可以得出。但是就目前iPhone的能力(處理、續航等等),運行OS X,還木有辦法直接搞。。。

以後有木有大牛可以搞定也不好說。但說不定哪天OS就支持ARM了呢。


所謂「運行」OS X,可以從兩種層面去理解。

一種是原生層面,即和Mac一樣的本地碼運行。

從目前來說OS X是基於x86編譯的,無法在arm晶元上原生運行;而且蘋果並未將系統開源,也無法進行第三方編譯。所以目前無法做到。

未來講,Mac和iDevice很可能融合,屆時會實現也說不定,但彼時的OS X肯定不會是現在的樣子了。(其實蘋果已經有過一次遷移晶元的歷史)

另一種是虛擬機,類似用mac虛擬機運行win。

這個在技術上沒有任何問題,剩下的麻煩僅僅是iPhone的性能和iTunes的審核而已。

前者僅會影響流暢度,後者越獄就好了。

事實上已經有iDevice成功運行win95/98這種輕量級系統的例子:

王旭晗作品 - 在iPhone/iPad上運行Windows 95/98 [Soomal?數碼多]


iOS就是從OS X裁剪得來的,內核和基本架構是一樣的,本質上就是簡化版的OS X


從原生運行,操作系統的角度上來說。

前提是假設Mac Os與iOS不為同一系統。

理論上有可能,因為從操作系統的角度上來說iOS只是精簡的了Mac Os,捨去了移動設備上不必要的介面而打造的定製化系統(同時又對移動設備的交互形式進行了優化如觸屏等)。不考慮硬體性能限制的話運行一個完整的Mac Os完全是可行的(操作系統的虛擬化以及對硬體的獨立性),至少在技術上不應該存在難以突破的堡壘(簡單的比如就是在當下的iOS上補全N多功能)。

關於目前的Mac Os需要x86編譯,這點並不是必要條件。操作系統需要硬體提供的介面(或者說硬體提供的指令集)是可以通過軟體實現的,雖然可能會比較複雜(根據軟硬體的邏輯等價性)。其它答案中提到的虛擬機也是這個道理。

不過,為什麼iPhone要跑Mac Os呢?想想看你在手機上用得到對印表機的介面嗎?(只是舉個栗子,說明兩個操作系統是根據需求的不同而設計的)

本人大三CS學生,上學期剛好學了操作系統這門課。雖然語言很模糊但是好歹還記得一點Orz,如果回答中有不嚴謹或者錯誤的地方希望大家給予指正。謝謝。


你見過運行windos系統的手機嗎?


如果樓主是想問「從技術上來說,個人用戶能否在iPhone上運行Mac上的OSX系統」吧?從技術上來說有可能,但是對個人難度太大,幾乎等於不能實現。


應該可以...

因為有叼炸的手機運行了osx...

那就是nokia神器N900...

鏈接:http://cn.engadget.com/2010/02/01/mac-osx-n900-success/


有必要嗎


完全能,他們就是一個東西,交叉編譯就可以。


要純粹說可能性的話,當然可以。

但那需要對osx做非常大的改造。當初osx只能運行在power晶元上,經過改造才支持了目前的intel晶元。同理,只要apple公司願意,當然也可以讓其支持arm,運行在iphone,改造量更大些。

問題是:有這個需要嗎?!


推薦閱讀:

蘋果是否會像諾基亞那樣隕落?
iPhone 6/6 Plus 兩次輕觸 Home 鍵後屏幕往下掉讓很多用戶以為屏幕出現問題,是否是個失敗的設計?
索尼手機和蘋果手機,該選擇哪個?
為什麼 iPhone 5s / 5c 不支持 IEEE 802.11 ac?
iPhone為什麼不用2100萬像素?

TAG:macOS | iPhone |