同樣是基於android深度定製,為什麼miui稱其為ui,而魅族和鎚子可稱為os?是否os需要如何衡量?


我認為能成為OS的一個重要條件是有沒有提供給開發者一個獨立的SDK開發環境,以此衡量的話很容易區分,因為SDK提供了系統開發介面,不可能存在兩個開發介面一模一樣的操作系統。

WP、iOS、android、firefox os、ubuntu touch、BB10、webOS、Tizen這些手機系統都有自己的sdk,都是獨立於其他系統的OS,而flyme、miui、kindle fire(這個定製系統甚至沒名字,呵呵)、cm版、leos等一堆jiyuandroid開發的系統都無法成為獨立的OS。

國內還有個例外,那就是宣稱自主開發的阿里雲OS,他宣稱和android採用不同的代碼和架構,只是兼容android格式應用。關於阿里雲OS我具體了解很少,不過我認為如果阿里雲OS如果沒有自己的sdk,而讓開發者用android的sdk開發應用的話,阿里雲OS仍然只是android的變種,不能成為獨立的OS。

其實桌面系統中也有個有趣的系統,叫reactos(我對開發這個系統的組織充滿尊敬)。他們通過反向工程開發出兼容windows(2000?)api的系統,讓windows上的應用可以運行在reactos上(不是在虛擬機上運行哦),雖然能運行的軟體不是很多,不過他們的工作仍然值得敬佩。reactos雖然沒有自己的SDK,我仍然認為這是個獨立於windows的OS(一個很有趣的例外吧)。


怎麼命名關鍵還得看臉皮。


很多年前計算機是沒有OS的,每次寫程序都要直接控制硬體。麻煩啊。

後來人們覺得不如做一套軟體控制硬體,然後讓這套軟體提供可編程的介面,人們使用這個介面就可以更輕鬆地編程了。這套軟體就是OS。OS你是看不到的,在最底層默默地工作。

再後來人們發現有些程序很常用啊,所以搞一個集合,做一套介面,這就是庫。它建立在OS層之上,使用OS提供的介面。

再後來人們發現光有庫還不爽啊,不如把很多庫集合起來,重新再寫一套統一的介面,用這套介面可以調用很多庫,用統一的方法寫出一個程序。這一套庫和他的統一介面就是應用框架,應用框架使用庫的介面(當然也有可能使用OS介面,比如考慮到性能)。

使用應用框架你就可以方便地寫出應用了。你不用考慮各種硬體操作細節,不用考慮各種庫操作細節。加快了開發速度。庫和框架通常稱作中間件 middleware。

對應安卓體系。Linux Kernel是OS,之上定義了各種libraries,再之上有application framework,然後最上面是大家日常看到的應用。

所以只有Linux Kernel才是基本意義上的OS,它處理了基本的硬體操作,並向中間層提供API。

因為安卓自定義了Linux Kernel,所以你可以說安卓(Kernel的部分)是Linux OS的一個分支。

總的來說,安卓是一套完整的體系,包括了OS,中間件,應用(默認的簡訊程序,時鐘等等)。

至於MIUI和鎚子,如果他們自定義了Kernel,那麼他們就算是Linux OS的一個分支。不過我估計更多可能是他們重寫部分中間件,或者只是做了應用。


首先要搞清楚UI是什麼,OS是什麼。UI即User Interface,用戶界面,你會在手機裡面跑一套界面,還是跑一個系統?

插播一下,MIUI真的是UI嗎?其實小米一直在弱化MIUI是OS的定義,雖然不知道為什麼,但也就讓用戶模稜兩可。小米是怎麼定義MIUI的?迄今為止最好用的Android系統,最後兩個字是什麼?系統!MIUI是什麼跟他名字裡面帶了UI兩個字母沒有任何關係,最初小米還沒有生產手機時,可能是處於對於界面和交互的信心和關注在名字裡面加入了UI的字樣,但不代表他是UI。(小米這名字起的真是悲催)

跑回來,看看什麼是系統。

下面的文字來自維基百科:

操作系統(英語:Operating System,簡稱OS)是管理計算機硬體與軟體資源的計算機程序,同時也是計算機系統的內核與基石。操作系統需要處理如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網路與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。 操作系統的型態非常多樣,不同機器安裝的操作系統可從簡單到複雜,可從手機的嵌入式系統到超級計算機的大型操作系統。許多操作系統製造者對它涵蓋範疇的定義也不盡一致,例如有些操作系統集成了圖形用戶界面(GUI),而有些僅使用命令行界面(CLI),而將GUI視為一種非必要的應用程序。

那麼,MIUI能不能處理和管理配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備…………………………?能!MIUI做了操作系統應該做的事,那他就是操作系統。

基於android開發,所以就不叫系統了?能不能叫OS取決於他做了什麼事,滿足操作系統的定義那就是操作系統,跟他使用誰的內核沒關係。

當然,基於android,你可以把android的層次看的高一些,MIUI是其一個分支,但這又有什麼問題?MIUI不滿足操作系統的定義嗎?舉個不太恰當的例子,因為小明是他爸爸的兒子,所以小明不是人?因為MIUI基於android而來,所以MIUI不能叫OS?android基於Linux,那能不能叫OS呢?Win95內核是MS-DOS,他是不是OS呢?

android厲害的地方在於google可以把他運營起來開拓一個新領域搞出一個新生態。我們無需去仰視OS這兩個字母,他沒那麼高高在上,他本來就存在於生活中的各個地方。


只要用的是安卓系統,國內這些叫os的廠商通通是耍流氓,把消費者當弱智的行為


鎚子os(鎚子ROM)、Flyme os、MIUI都是基於安卓的深度開發,真正意義的OS是具有獨立架構的系統,比如蘋果的IOS,安卓,wp這些是OS。


你知道Cyanogen OS嗎?如果知道就可以塵埃落定了,爭論這個的意義在我看來跟回字有幾個寫法差不多。


推薦閱讀:

基於 YunOS的 Flyme 會取代現有的基於 Android 的 Flyme 嗎?
小米是抄襲魅族的模式嗎?那為何小米率先崛起,而魅族處於落後地位?
一加手機 2和魅族Pro 5選哪個好?
魅族下代產品將放棄不鏽鋼材質並使用新的金屬代替,可能會是什麼?

TAG:操作系統 | 魅族科技 | 米柚MIUI | Android | SmartisanOS鎚子手機操作系統 |