科技改變生活 · 科技引領未來
鴻蒙簡述鴻蒙(HarmonyOS)是華為自2012年開發的一款可兼容Android應用程序的跨平臺操作系統.截至2019年6月14日,華為高管證實了新系統的存在以及華為在全球申請“Hongmeng”商標一事,并且說明主要是用于物聯網,未必會
鴻蒙簡述
鴻蒙(Harmony OS)是華為自2012年開發的一款可兼容Android 應用程序的跨平臺操作系統. 截至2019年6月14日, 華為高管證實了新系統的存在以及華為在全球申請“Hongmeng”商標一事, 并且說明主要是用于物聯網, 未必會發展為手機系統. 2019 年 8 月 9日華為開發者大會上,華為消費者業務首席執行官余承東正式宣布發布自有操作系統鴻蒙,內核為Linux內核、鴻蒙微內核和LiteOS. 未來將擺脫Linux內核和LiteOS, 只有鴻蒙微內核.
從此,Harmony OS(鴻蒙操作系統,簡稱鴻蒙)正式進入公眾視野. 與支持者相對的各種黑化聲音同樣不絕于耳,相對于這些無腦黑,節奏黑, 難道我們不能好好的找找資料,真正了解鴻蒙是個啥. 后面將從 Linux 內核, 鴻蒙微內核, 兼容 Android, 全場景交互體驗等方向來一次 HarmonyOS 的學習之旅...
PS: 這幾篇所有整理的內容都基于網絡上的公開資料(維基百科等),為了基本上所有非技術人員也都能無障礙看懂.
操作系統大致分類
要想了解操作系統,必然先了解一下操作系統的發展歷史,不過是不查不知道,一查嚇一跳,這世上的操作系統是真的好多啊,因此肯定是沒必要一一道來的, 一些歷史脈絡部分,我這里大致的梳理一下一些關鍵的標志性系統,輔助我們來了解 HarmonyOS,從此不再人云亦云.
目前大家接觸比較多的常見操作系統也就那幾個, 大致分類有, 電腦端: Unix, Linux, MacOS,Windows, 手機端:Android, iOS.
Unix - 牛啊
Unix 家族
1969年在AT&T的貝爾實驗室開發Unics, 1973年, 用C重新編寫后正式命名為 Unix, 標志著通用操作系統的到來, 一開始和學術界有合作(加州伯克利大學),從而快速在各大高校傳開;
1977年,伯克利大學的Bill Joy 教授獲得Unix的核心原始碼后, 修改成適合自己機器的版本,并增加了編譯工具和很多功能軟件,最終命名為BSD;
1979年 AT&T 公司發行Unix7.0, 出于商業考量將Unix的版權收了回去. 這也導致了BSD的后裔一直跟AT&T 相關公司產生了法律糾紛,直到1994年1月才了結.
1994年6月,4.4BSD 以兩種形式發布:可自由再發布的4.4BSD-Lite, 不包含AT&T源碼; 另有 4.4BSD-Encumbered,跟以前的版本一樣,遵照AT&T的許可證。幾種基于4.4BSD的包(比如FreeBSD、OpenBSD和NetBSD)也得以繼續維護。
這期間, 學術界自力更生, 在1986年一個叫 Andrew Tanenbaum(安德魯·塔能鮑姆)教授就參照Unix的功能編寫完成并發布一個Minix系統, 用于教學用途, 并于次年發布了相關書籍。
Linux - 廣啊
1991年,一個叫 Linus Torvalds 的學生對只能用于教學用途的 Minix 系統不滿足,于是就基于Minix開始編寫自己操作系統, 并于9 月份開源, 也就是 Linux。
那么,1991年9月到 1994年1月,這中間有一個兩年多的空窗期,一則有大量之前 Minix 的用戶參與了Linux內核代碼編寫/修改工作; 再加上此時各公司和機構有面臨使用 Unix 系統的侵權風險,使得Linux獲得了極大的關注和應用推廣。
Linux 有多牛, 今天的Linux系統掌管著超級計算機和大部分服務器、主機,再加上 Android 的智能移動設備, 還有桌面系統,嵌入式設備,以及純粹的上網本, Linux王國的領土幾乎擴展到了整個網絡系統,搜索,購物,聊天等全球數十億人離不開的服務,都運行在Linux之上。
到此,所以鴻蒙的內核里有 Linux 內核的存在,有毛病嗎?
一點小思考
思考一: Unix 這么牛, 為什么 Linux 卻能發展起來? 原因有很多, 而且也有大量的公開資料都可以查. 最初的一開始也有這么三個點也值得我們去關注.
首先,前面有了解到 Linux 之所以成功, 在于其技術的更加先進,但是這種先進它并不是顛覆,他本身就是基于 Minix 的基礎之上, 它在一開始的一段時間內是必須要有 minix 才能運行的起來的,
其次, 是有這么一個長達兩年多的 Unix 的版權之爭, 從而給 Linux 提供一個絕佳的成長時間, 畢竟就像Linus 自己說的那樣,當時如果有可用的 386BSD,他也不會選擇自己再去重新開發一個 Linux.
再者, Linux 1991 年開發并開源出來, 到 1993 年大約有100余名程序員參與了Linux內核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼大約有十萬行,用戶大約有10萬左右。到鴻蒙正式公開的2019年, Linux 內核已有大約2500萬行代碼。
對比之下, 挺有意思的是, 余承東也說過 HarmonyOS 一開始并沒有打算放到手機上, 相較于 Unix 閉源后逼出來的這個 Linux, HarmonyOS 卻是美國的打壓和制裁逼出來的, 而鴻蒙的今后的成長, 我們是可以共同見證得到并也可以參與得了的.
思考二: Linux 這么牛,為什么在電腦時代的桌面操作系統上,沒有競爭過 Windows 和 MacOS 呢? 但是到了手機時代, Linux 內核的 Android 卻可以和 iOS 平分天下? 原因同樣也很多, 其中也有兩個公認的關鍵點,
其一是使用場景的不同, Unix,Linux 開始的時代是關注于計算和技術本身,操作系統都是基于企業的大型機或高校科研機構來設計和使用的, Windows 和 MacOS 流行的年代是個人電腦所需的圖形化界面和視覺化操作, 此時的操作系統是服務于普通人的普及使用上, iOS 和 Android 所服務的則是以手機為主的智能移動設備,其特點是便攜小巧,操作簡單,節能省電. Android雖有Linux 內核,卻早已不是典型Linux 發行版的樣子了.
另一個最重要的關鍵點則是有一家強有力的公司所支撐的系統開發和生態建設, 桌面時代 Windows 有微軟,MacOS 有蘋果, Linux 呢是一個松散的開源社區, 但是到了手機時代,iOS 有蘋果, Android 有谷歌;
AOSP 是個啥
這篇先留點坑,鴻蒙的微內核和智能生態先不表, 我們依然從 Linux 這條線, 再來看一下 Android
大家一般都知道的, Android 是一個基于 Linux 的、由 Google 主導的開源系統。那么為什么谷歌還能掐華為的脖子,而華為卻還是能兼容 Android 呢?
其實嚴格意義上來說,Android=AOSP+GMS, 谷歌的手機 Pixel 出廠自帶的系統即為Android,而一般來說,谷歌在自己(主導)開發的新一代Android系統成型時,都會放出其中的aosp代碼。也就是Android系統等于開源的aosp,加上額外的閉源部分(其中包括GMS)的組合。AOSP 全名為Android Open-Source Project, 華為的開放源代碼 OpenHarmony 是一種概念的. GMS 全名為 Google Mobile Service(谷歌手機服務),而這也就是谷歌限制華為的關鍵之處,GMS 是谷歌的應用和服務全家桶,包括電話,郵件,應用商店等一系列應用和消息推送服務,海外的手機沒有這些東西,就跟磚頭沒什么兩樣了.
這個服務本身在國內是無法使用的, 國內的各種定制 ROM(如小米的 MIUI,華為的 EMUI 等)都是基于AOSP 加上自家的云服務的定制修改.各大品牌的操作系統如下:
蘋果--iOS
谷歌--Android(AOSP+GMS)
三星--Android(AOSP+GMS)
小米--MIUI(基于AOSP)
OPPO--Color OS(基于AOSP)
VIVO--Funtouch OS(基于AOSP)
一加--H2 OS(基于AOSP)
錘子--Smartisan OS(基于AOSP)
魅族--Flyme(基于AOSP)
聯想--ZUI(基于AOSP)
華為--國內: EMUI(基于AOSP),國外 Android(AOSP+GMS), HarmonyOS2
其一,看到這里,那些一直老是質疑鴻蒙就是安卓(AOSP)套殼的質疑是怎么回事,估計大家也都清楚了.其實啊,大家都知道,技術發展的現在,開發一款系統并不能難倒這些科技大廠,生態的支撐才是決定一個體統生死的關鍵,鴻蒙兼容安卓,有錯嗎?鴻蒙兼容安卓本來就是一個正確的決策嘛. 當然,這里是在做科普,而非為了爭辯什么. 因為其實有些東西它就在那里,有公開的資料.
其二,看到這里,其實也能看到國內的手機廠商沒有第一時間去響應鴻蒙一個原因了,一個明顯的問題就是支持鴻蒙是有兩套方案的:一是組織團隊基于Open Harmony開發呢?還是說直接放棄已有的生態直接用HarmonyOS2?如果是你,你會第一時間選擇這其中的一項嗎?最近魅族宣布接入鴻蒙的,不是魅族手機,而是其Lipro品牌下的智能家居生態產品。
鴻蒙真的只是安卓套個殼嗎
關于生態還是放到下次在統一聊,還是回到主線,我們再來梳理一下安卓的大致歷史。
2005年 7 月 11 日,Google 收購了 Android 科技公司,Android的關鍵人物包括安迪·魯賓、利奇·米納爾和克里斯·懷特,以及所有Android科技公司的員工都一并加入Google,作為收購的一部分。
2007年11月5日,在Google的領導下,成立了開放手持設備聯盟(Open Handset Alliance),那是包括Google在內的科技公司聯盟,其他成員包括HTC、摩托羅拉、Samsung等設備制造商,無線運營商則包括Sprint及T-Mobile,芯片制造商高通及德州儀器,目標是為移動設備開發“首個真正開放和全面的移動設備平臺”。隨后,其他廠商加入,包括Broadcom、Intel、LG、Marvell等。聯盟開放手持設備聯盟的創建目的是為了創建一個更加開放自由的移動電話環境。而在開放手持設備聯盟創建的同一日,聯盟對外展示了他們的第一個產品:一部搭載了以Linux 2.6為核心基礎的Android操作系統的智能手機。
2008年12月9日,新一批成員加入開放手持設備聯盟,包括ARM、華為、索尼等公司.
為了跟iPhone 3G能互相媲美,諾基亞和黑莓手機于2008年均宣布有關觸摸屏的智能手機的信息,Android的焦點最終也轉向觸摸屏。第一款運行Android系統的商用智能手機是HTC Dream,亦名為T-Mobile G1,該智能手機于2008年9月23日發布
同時,一個負責持續發展Android操作系統的開源代碼項目成立了AOSP(Android Open Source Project)。除了開放手持設備聯盟之外,Android還擁有全球各地開發人員組成的開源社區來專門負責開發Android應用程序和第三方Android操作系統來延長和擴展Android的功能和性能。
之后便是大家熟悉的各種基于 AOSP 的安卓智能機出現在了大家的手上.
至此,大家應該真正都明白 Android 和 AOSP 的關系了,也能理解 OpenHarmony 和 HarmonyOS2 的關系了吧.
OpenHarmony 是不兼容安卓的,至于很多人一直還在質疑 HarmonyOS2 是安卓套殼這個事, 我是有點奇怪的, OpenHarmony的開源代碼已經放出來了, 華為的官方解釋也就是在那里?他們都視而不見.HMS Core(華為移動服務)是基于華為終端設備和安卓平臺,對應用開發者開放并提供各種服務能力的移動服務框架。, 適用產品是手機和平板, 并且其升級不涉及系統版本,HMS Core (華為移動服務)同GMS(谷歌移動服務)一樣,可以在安卓開源項目(安卓系統)上運行,支持安卓應用,但部分需要GMS支持的安卓應用,在HMS Core平臺下可能無法運行。
作為結尾,想說明一下,到現在為止,所有的關于對鴻蒙的解讀還只是按照安卓的框架和場景設定來思考的, 實際上,鴻蒙的定位是服務于物聯網. 關于鴻蒙微內核,全場景交互體驗我們放到下一篇,這里還涉及到 iOS,以及谷歌的新系統.
丁夕林