手機為什麼不能像電腦一樣隨意的裝系統?

手機為什麼不能像電腦一樣隨意的裝系統。一種系統,比如windows 8可以裝在不同品牌不同配置的電腦中,而不同品牌不同型號的手機就必須要有自己的ROM。有沒有一天存在這種可能性,所有的手機都可以裝同一種系統,而不需要做很大努力去適配?

那麼Windows Phone 8的手機跟採用Winsows RT的設備都是用NT內核的,那如果這兩個系統有足夠的驅動,或者有相應的驅動下載,那是否其他非Windows 的設備可以隨便安裝這兩個系統?


1 硬體檢測

1.1 手機一般使用的是 ARM 架構。

由於 SoC 與其他設備(例如各種感測器)的通信是使用 I2C 或 SPI 等匯流排通信的,操作系統無法檢測硬體的存在,因此在 ARM 上操作系統對硬體配置信息的獲取一般是通過 Device Tree 實現的。即在編譯操作系統內核時,在源代碼中寫明硬體埠與設備的對應關係。

由於主板在不同型號間往往是不同的,硬體布線是不同的,甚至硬體也是不同的,如果沒有針對該 hardware revision 重新編譯內核,就沒辦法使用 SoC 外的設備。

1.2 一般的計算機使用的是 x86 架構,對於硬體檢測一般使用 ACPI 或 UEFI ,而且硬體的匯流排通信有統一的協議,於是每個硬體可以向操作系統報告自己的存在。這時 Linux 如果有 LKM 的支持,可以動態載入內核模塊,或是直接調用靜態編譯進內核的模塊。

2 軟體

手機的硬體受限制,存儲空間一般都比較小,沒必要在裡面放置多餘的內核模塊。

3 運營商利益

運營商的合約機基本上會校驗內核的數字簽名,防止第三方內核的載入。因為獲得系統最高許可權有時可以繞開運營商的限制。


做嵌入式開發的時候有一個詞叫做BSP,全稱Board Support Package,類似於最底層的硬體的基礎驅動和硬體描述信息,包括時鐘、中斷、CPU、基本硬體配置等等最核心的東西。如果有了統一介面的BSP,那麼上層驅動基本上都是通用的。

不同廠商的手機的BSP有很大的不同,所以本質上說是因為BSP不同導致了不同手機之間系統不兼容。

而個人電腦(PC)又名IBM兼容機,兼容的意思就是可以用相同或者相似的BSP來部署操作系統。PC的兼容性有多好呢,個人電腦發展了幾十年了,但像中斷控制器這些東西,幾乎都沒變過,操作方式還是完全一樣的。

那麼能不能做一個通用的BSP,至少兼容ARM這個arch呢?理論上也是可以的。

讓我們想想Windows/Linux和手機系統在安裝的時候有什麼區別?個人電腦上都需要「安裝」系統,而手機的ROM其實是「燒」進去的,跟複製進去差不多

如果手機系統也有安裝程序,能檢測硬體配置,然後安裝程序又包含大量的兼容的BSP和各種基帶驅動,那麼手機系統也可以做成通用的。

之所以沒有廠商這麼做,我認為的原因有:

1、成本太高。

最早的時候IBM賣PC是軟體硬體一起賣的,但那時候開發操作系統成本不算太高,至少不需要太多的人,當年微軟也算是一個奇葩,所以微軟能把軟體分離出來賣,並且有足夠的時間來完成技術積累。

而如今如果單獨寫一個操作系統,成本太高,單開發一個BSP就需要不少人力,面對各種各樣的硬體配置,至少是需要幾十個BSP,再考慮到驅動的成本,即使是移植Linux也是不小的工作量。

2、廠商不配合

由於IBM當年是開放硬體配置的,如今各個廠商才不會告訴用的什麼匯流排驅動,用的哪個型號的SDMMC驅動,用的什麼型號的flash,在這種情況下要開發驅動就太難了。

3、安裝複雜

因為手機硬體花樣太多,所以安裝的過程應該是無比麻煩,加上手機本身存儲器空間有限,所以安裝程序需要做大量的檢測才能安裝上一個合適的操作系統,安裝程序設計肯定也十分複雜,安裝程序都這麼麻煩了,還不如把安裝程序省了直接燒ROM還簡單。

當然了,有些手機本身硬體資料開放的較多,硬體兼容性又好,所以有些愛好者根據這個硬體配置設計了適合使用的ROM,但這和「安裝」還是有區別的,本質上還是「燒」ROM,不是安裝。


說到底是架構問題嘛,跟是電腦還是手機沒啥關係……


現在的桌面PC或者筆記本電腦都是有統一標準的BIOS,系統的引導、硬體統一配置等等都是標準流程,各個系統只要符合標準就可以使用,而且像Windows這樣的系統還會內置大部分主流硬體的驅動程序,這樣就一張系統光碟就可以在不同配置的電腦上安裝使用。

但是手機硬體現在還是各個廠商會有不同,系統引導、硬體驅動等等都會有不同,不同的系統需要配合各種硬體的引導程序、硬體驅動。而且通常的手機系統受限於硬體的原因,不能像Windows一樣內置大量的硬體驅動程序(系統ROM要盡量精簡,減少ROM的佔用)。現在所說的做適配,主要是根據不同的手機硬體加入對應的驅動程序,然後根據不同的硬體(如屏幕解析度、按鍵、支持的網路類型等等)適當調整。


主要是因為驅動的關係。

首先,Windows和linux的驅動機制不同。Windows是微內核,驅動安裝比較方便。而安卓基於Linux,是宏內核,驅動是要編譯進內核的,安裝不便。在PC上還能編譯安裝一些東西,在手機上連原生C都不能運行,更別說編譯安裝了。其實PC下Linux和OS X的驅動問題也還是很嚴重的。

其次,是因為手機的硬體碎片化比PC更加嚴重。手機CPU的廠商有很多家,PC基本只有兩家。

其他攝像頭陀螺儀什麼的就更多了。PC的系統只要集成A/I兩家的CPU驅動、ANI三家的顯卡驅動和A/I兩家的主板驅動就可以裝上(OS X只支持I和N),而這些硬體在架構沒有大變化的情況下都是可以使用老驅動的。而手機的SOC實際上包含了十幾個模塊,同一個CPU廠商的不同產品使用的模塊都不一樣,CPU的驅動可以做到兼容,其他模塊的驅動就不行了。很多手機就因為CPU廠商不提供針對新版操作系統的驅動而無緣升級。

PS:PC裝OS X也比手機裝其他系統簡單多了。

PS2:如果一個
WM 手機也能裝安卓,那說明這款手機的SOC也用在了安卓手機上,間接解決了驅動問題,就像MAC的CPU是Intel,Intel的PC裝MAC就比較方便一樣。


不是不可以,只是你不會。。。。


.

windows系統內部已經集成了大量的常用驅動,而手機rom不能通用最主要的原因也就在於缺少對不同硬體的兼容

而且不同手機的硬體也不同,小到適配不同內核、基帶,大到對實體按鍵、CPU的支持,還有不同機型特有的優化,都是要考慮的因素,除非你希望看到一個rom幾個G的大小,否則還是去相應的論壇找適配的rom吧。

==========

哦對了!有個不死的神機不能不提 —— HD2

據說它支持的系統包括:

Windows Mobile 6.5、6.1、5.1...os

Windows Phone 8、7.8、7.5、7(Mango)...os

Android 1.0、1.1、1.2、1.5、1.6、2.0、2.1、2.2、2.3、3.0、4.0、4.1、4.2、4.3、4.4...os

ios 4、5、6、7

Windows 95、98、XP、7、8(RT)...os

Linux os

ubuntu os

Mac os

MeeGo os

Flyme os

Miui 1.1、2.3.6...os

Web os

Firefox os


  移動聯盟:手機挺進64位時代 利好刷機市場

  如果說蘋果在去年9月份上市的iPhone5s開啟了64位手機時代,那麼時隔一年後,搭載iOS8系統的iPhone6能再將安卓手機一軍。當然,老對手谷歌從來都不是保守派,旗下新一代操作系統Android
5.0也是一款64位操作系統。

  事實上,除了英特爾、高通、英偉達三家硬體巨頭的64位移動晶元都急欲聯手新版安卓系統,安卓手機陣營老大三星的64位Exynos更是迫不及待要借「機器人」對蘋果手機扳回一城。而隨著64位手機加速普及,手機用戶的越獄、刷機、ROOT等等需求同樣會迎來全面爆發,據國內知名APP推廣、刷機工具聚合平台移動聯盟預測,2014年國內刷機市場將會新增一億用戶,其中女性刷機比例有望首次超過20%。

  360安全衛士「免疫」騰訊系刷機大師

  對於64位移動操作系統,移動聯盟認為,由於安卓布局慢了一大拍,國內一批安卓ROM開發者如小米、鎚子、魅族,仍需要時間推出各自的64位OS。

  【騰訊ROM捲土重來?】

  小米的成功在於MIUI先行,這個模式同樣被羅永浩複製,後者近期推出了基於Smartisan
OS的鎚子手機,其3000元的超高標價成為嘈點。相比之下,配置相近的小米3和魅族MX3分別只要1499、1799元。鎚子的自信,很大一部分來自於Smartisan
OS,但從用戶數據來看,該ROM並不吃香,而羅永浩除了約媒體耍嘴炮之外,似乎也沒有投入相當的推廣費用。

  鑽研ROM的並非只有小米、鎚子這樣的手機廠商。百度雲ROM通過技術導入用戶、阿里雲OS發力營銷結盟一眾國產山寨手機,BAT三巨頭之中,唯有騰訊演砸了TITA(騰訊ROM),成為以產品見長的企鵝的一大痛處。好在投資上騰訊斬獲頗豐,先是擊敗360招安了刷機大師,此後又重金注資全球最大Android第三方ROM製作團隊CyanogenMod(MIUI、鎚子ROM的基礎ROM源自該團隊),意在複製移動設備端的windows神話。

  QQ同微信已經牢牢佔領了國人每一部手機,若是再來一個殺手級的騰訊ROM產品,騰訊無疑更徹底的掌握了用戶習慣。至少在移動遊戲和支付領域,一旦有了ROM這個軟硬結合的入口,騰訊系產品如應用寶、財付通的市佔將何止倍增,當然必須有個前提,那就是騰訊ROM得成為中國版Android的代名詞——此一點,號稱已有5000萬用戶的MIUI都未能做到。

  「從戰略上講,騰訊ROM意義重大,一來需要橫掃TITA失敗的陰影,二來移動互聯網入口爭奪激烈,從瀏覽器、手機助手打到wifi、ROM,馬化騰需要QQ、微信之外的第三個全民級產品,做ROM是個機會。」移動聯盟市場負責人Homer稱,「雖然移動端很難誕生win7、win8這些能讓消費者直接買單的高價系統軟體,甚至國產ROM大多是在自掏腰包進行推廣預裝,但是騰訊有著強大的品牌效應、用戶基數,一有好ROM,然後全世界馬上就知道了。」

  【全民刷機的64位時代】

  專業機構數據報告顯示,當前中低端智能手機刷機頻率要遠高於高端手機,女性刷機用戶比例不足15%。亦即是說,刷機者以男屌絲居多,被刷的機器則以華為、中興、HTC為主。

  那麼即將到來的64位時代呢?都是高配機器,刷機用戶數會不會大幅縮水?

  移動聯盟首創APP推廣O2O,發動全民參與「零花錢大作戰」

  「64位手機價格肯定不是那麼親民。以小米合作夥伴NVIDIA為例,64位K1移動晶元價格接近四位數,超過Tegra4兩倍還多。據說高通和聯發科已研發出低價位64位處理器……」Homer表示,「無論如何,幾百塊人民幣的差價還不至於阻止機友們繼續刷64位系統。如果差錢或者想省錢,機友可以通過移動聯盟多刷幾部手機,再安裝上一兩屏優質APP應用,即能獲得一筆刷機收益。」

  作為工具類APP,刷機市場儘管體量龐大,吸金能力至今仍是硬傷。為此,移動聯盟在聚合各類刷機軟體、手機門戶及刷機論壇的基礎上,加入了APP推廣模塊。「經常看到一些同行在移動互聯網業務交流群里求渠道求CP,做法粗暴而低效,只要激活率不足5%,5毛錢推一個APP都虧。移動聯盟的做法是,開放APP推廣平台,直接給出透明的行情,一般是1到2元不等,激勵用戶主動傳播,像一些社交類應用和遊戲APP,熟人間傳播效果明顯會更好。」


手機的操作系統是嵌入式的操作系統,嵌入式的操作系統有一個最大的特點,就是對每一個不同的硬體平台有不同的驅動子程序,不同的智能手機的硬體平台是不同的。所以它們要的驅動程序也是不相同的,可以根據需要而添加或去除。這就是嵌入式的最大特點,要在一個小的晶元上實現這麼多的功能,晶元的容量是有限的,就要求程序的最小化,並且固化在晶元上,這樣安全、可靠性高、運行速度快、成本低。


你所說的電腦應該是x86架構的兼容機,顧名思義,這些不同的計算機能安裝同一系統的原因就在於兼容,標準已經定了,所有的硬體廠商都按照這個標準生產部件。


我們一般說的電腦是 PC, PC是建立在 馮諾依曼 的架構體系上的。

馮諾依曼 的架構體系並不是一個人的發明,而是當時製造計算機時碰到很多問題,然後成立了一個小組,為了解決主要問題,設計的硬體和軟體 結構。

(馮諾依曼 並不是 計算機之父,他只是那個小組的組長,其實還是團隊的力量。)

而這個體系 中 CPU是核心地位,而CPU又導致了操作系統需要適配這個CPU。

一開始 IBM建立的 PC 體系就是一個開放標準,這樣可以 實現不同的硬體供貨商供貨。

但是又要考慮到軟硬體的向後兼容,CPU 和 適配這個CPU的操作系統,應當相對固定的。

結果導致的是操作系統被微軟壟斷,CPU基本上被Intel壟斷,形成了Wintel聯盟。

壞處是這兩家獨大。(更多的不總結了)

好處是 這兩家為了維持壟斷地位,制定了很多公開標準:

Intel發布很多主板標準,匯流排標準

微軟制定設備驅動程序標準。

讓軟體和硬體生產商 更多的精力在一小塊組件上,而不用整體考慮。

這樣每個組件就可以相對豐富。

比如顯卡 有 nvidia 和 以前的ati競爭。

而硬體的兼容性,卻又導致了,其上的操作系統開發的成本降低,linux才能在PC平台上發展起來。但直到 linux佔了很大市場之後,PC硬體廠商,才為之專門開發驅動。想想當初 linux上配一個音效卡多困難……

而手機,硬體沒有成為統一標準,所以很難開發通用的操作系統,直到 android系統。

android提供了硬體抽象層,以隔離硬體複雜性,使得軟體可以在支持android標準的手機上運行。

只是,不同手機里的android系統還是要專門編譯的,甚至有的設備的驅動還要手機廠商自己開發。


電腦你用PC裝個OSX試試,還不是和手機一回事。


硬體標準尚未統一吧


推薦閱讀:

為什麼MIUI團隊一直未能發布適配米1/1S的V5穩定版,卻熱衷於適配三星、魅族、OPPO等機型?
互聯網模式的迭代更新真的好嗎?
如何看待MIUI開發版嘗試為第三方應用開發者提供設置開屏廣告的能力?
小米手機和魅族 M9 很像嗎?誰的發展潛力更大?
小米電視為何突然不支持AirPlay功能?

TAG:手機 | Android開發 | 米柚MIUI | Android刷機 |