華為鴻蒙系統前景如何?從原理上看,大有可為_風聞
风云之声-风云之声官方账号-2019-06-18 07:28
【袁嵐峯,中國科學技術大學化學博士,中國科學技術大學合肥微尺度物質科學國家研究中心副研究員,科技與戰略風雲學會會長】
詩曰:
混沌未分天地亂,茫茫渺渺無人見。
自從盤古破鴻蒙,開闢從茲清濁辨。
最近,“鴻蒙”這個詞火了。大家都知道,自從美國對華為宣佈禁運之後,華為就推出了自己的反制計劃,一方面是芯片的備胎全部轉正,一方面是註冊了自己的操作系統“鴻蒙”。
那麼,鴻蒙系統的前景如何呢?
媒體曝光的鴻蒙操作系統界面
我的朋友、風雲學會會員陳經最近寫了一篇文章《中國公司帶頭反擊:安卓陣營面臨崩潰解體危機》,發表在我們的微信公眾號“風雲之聲”上,引起了廣泛的關注。大家可能已經在很多媒體上看到這篇文章了。
光看這標題,可能會覺得有點標題黨的嫌疑。但跟標題黨不同的是,這篇文章是從基本的技術原理出發的,這才是此文引起廣泛關注的根本原因。事實上,陳經是中國科學技術大學的計算機本科,香港科技大學的計算機碩士,畢業後一直從事人工智能的研發,所以他是真正意義的計算機專家,這是一篇真正的專業分析。
在這裏,我就從原理出發,向大家介紹一下這篇文章中的觀點。
2018年6月20日,我在上海音樂廳的演講從芯片到星辰大海——袁嵐峯2018年6月20日在上海音樂廳的演講 | 科技袁人中就提到了,美國佔據壟斷地位的最典型的產業,就是芯片和操作系統這一硬一軟。而具體分析,芯片和操作系統的情況還有一個重要的區別。
上海音樂廳演講的彈幕
(視頻見https://www.bilibili.com/video/av25338475)
發展芯片的困難主要在於技術本身,所有人都同意芯片是真正的高科技。而操作系統在技術上的難度就低得多了,以至於會有這樣的笑話:“我有一個絕妙的想法,只差一個程序員了。”發展操作系統的困難,更多的在於市場推廣、生態建設,而不在於技術本身。
説得學術一點,這裏的原理是,網絡是“邊際收益遞增”的。就是説,如果一個網絡中現有的用户越多,那麼一個新用户從網絡當中得到的好處就越大。
一個典型的現象,就是這個問題:世界前十大互聯網企業,來自哪些國家?回答是:美國有6家,中國有4家,其他國家一家都沒有。
英國、法國、德國、日本等等老牌的發達國家,都沒有誕生世界級的互聯網企業,一個基本的原因就是,美國在發達國家當中是人口最多的。同樣的道理,中國在所有國家當中是人口最多的,因此中國的網絡發展也非常蓬勃。
當然,僅僅人多這個條件是不夠的,——此時某個人口超十億的國家飄過……跟印度相比,中國的區別在於,我們其他的產業也發展到了相當高的程度,能夠給網絡產業提供一切技術條件。而印度許多地方連通水通電都成問題,哪還談得上網絡產業。
不過,中國互聯網企業的成功,主要是在社交軟件、電子商務、移動支付、搜索引擎等方面,而不是在操作系統方面。雖然有阿里的YunOS等試水之作,但離打破美國的壟斷還差得很遠。這裏的原因,就在於生態建設。如何説服其他人為你的操作系統開發軟件?這是一個雞生蛋蛋生雞的問題。如果能夠突破這一步,前面就有無限的想象空間,但無數的英雄好漢就困死在這一步上。
美國對華為的禁運,剛好提供了一個打破死循環的契機。為了生存,華為必須推出自己的操作系統。而奇妙的是,鴻蒙對於用户和其他開發者來説,可能會是很有吸引力的。如果這種前景成為現實,那麼鴻蒙就遠遠不只是一個對安卓的模仿,而是有可能在世界範圍內掀起一個替代安卓的浪潮。
這其中的道理何在呢?基本的道理就是:安卓確實有難以克服的技術弱點,鴻蒙確實有希望超越安卓。
安卓是基於Linux開發出來的,而Linux是“宏內核”。有些新聞介紹説,鴻蒙是基於“微內核”的,並非基於Linux,和安卓有本質區別。那麼,宏內核和微內核是什麼意思呢?
宏內核(Monolithic kernel)的意思是,操作系統的核心代碼都是以特權模式運行在一塊核心內存空間(kernel space)中的。這些核心代碼雖然分模塊各做各的事,但互相緊密關聯,一榮俱榮,一損俱損,代碼規模比較大,很難修改成其它類型的操作系統。典型的就是Linux代碼,模塊不少,核心代碼已經很長了,也不太好拆開來。要開發,就得按照它的套路來,不好自己靈活安排。有時一個設備,要不了太多功能,但是整個宏內核都得放上來,想剪裁就很麻煩。
而微內核(Micro kernel)的意思是,只提供操作系統最基本的少數核心功能,是精簡版本。核心模塊互相獨立,運行提供服務時有自己的內存空間,和用户進程一樣運行,不是特權模式。微內核就很靈活了,要什麼服務就把相關的模塊放上來,互相獨立不影響,不用太顧慮配合問題。這樣就有很好的擴展性。
安卓是基於Linux的,是宏內核,由一堆底層特權模式的核心代碼緊密組合在一起。這個架構的靈活性是不夠的。面對各種硬件配置的手機,或者平板、電視之類的系統,它都是這一個架構,怎麼適應?於是就搞出一個叫“虛擬機”的東西,假設大家都是在虛擬機上運行,代碼是跨平台的。每一個安卓應用,都在操作系統底層對應着一個虛擬機實例,由這個虛擬機來伺候運行應用程序的代碼。
安卓程序開發者寫的代碼,其實是針對虛擬機的,所有機型都是一樣的程序文件,但是不同機型底層的機器代碼不一樣。雖然開發者的一套程序所有安卓機都能跑(就是常見的APK安裝文件),但是中間需要經過虛擬機的翻譯。
在早期版本的安卓系統中,這個虛擬機甚至是在實時解釋翻譯應用程序的代碼,而且每次運行都要解釋一次。執行時碰到一段代碼,就解譯一段,變成機器碼交給底層執行。
後來安卓進步了,在第一次安裝APK程序時,直接一次性全翻成機器碼,效率得到了提高。雖然安裝過程會慢一點,程序佔用空間也大了一點,但每次點開運行時都好多了。
程序如果能直接針對底層機器硬件優化,性能可以提升非常多,就如蘋果機器那樣。華為方舟編譯器也是這樣,直接生成底層高效機器碼。所以我們會看到這樣的新聞:2019年4月11日,華為發佈方舟編譯器,重新編譯後手機性能提升顯著,可以高達60%。
2019年4月11日華為發佈方舟編譯器,重新編譯後手機性能提升顯著
但是通用的安卓平台真是不好辦,只能對虛擬機搞點通用的優化把APK文件弄好點,然後虛擬機把APK翻譯成機器碼時也搞些通用的優化。這種分段通用優化的辦法不可能做得多好,比APP直接針對機器碼優化要差不少。
有些APP開發者可以繞過安卓,直接對某一機型優化。例如騰訊的王者榮耀,檢測到用户是OPPO的機器,OPPO又給騰訊交了足夠的“特別優化費”,就調用經過特別精心優化的高效機器碼。但是這個過程很麻煩,一般開發者搞不了,這也説明安卓要高效支持多種機型很困難。
長久以來,安卓就被詬病不如蘋果的iOS性能好,原因早就被業界人士分析清楚了。蘋果系統優勢的基礎是封閉性,不需要考慮兼容,所以可以自己控制,優化盡情地做。例如蘋果APP就是直接編譯成高效的機器碼,在蘋果自己開發的CPU如A12上執行,編譯器優化可以做得很好。蘋果還可以對開發者進行嚴格的管理,提供豐富的高效率底層接口給開發者,不許開發者使用低效的操作拖累整機效果。
安卓方便各種手機廠商開發,兼容做得好,所以佔領了市場。但是既然要考慮兼容,管理就不可能太嚴厲,不可避免會帶來效率降低。例如內存管理,各種安卓機各種APP都要能跑,內存操作就會比較零碎,一會分配一會釋放,內存空間就碎片化了。到一定程度,沒有可用的大塊內存了,安卓系統就要運行一個內存整理程序,把碎片化的內存合併成大塊。這時不管機器上在運行什麼程序,都會暫停一段時間,用户就會發現機器卡頓了。
這些毛病谷歌其實都知道,安卓在不斷升級。但是和蘋果機比起來,順滑流暢的感覺總是差一些,因為原理上就比不了。安卓升級改進,或者APP開發時,最麻煩的一點就是“適配”。各種機型多得很,這些機器弄好了,那些機器又不行了。人們已經得出結論了,在現有的這個兼容框架下,安卓的固有弱點不好改,會永遠受束縛。
華為通過方舟編譯器已經證明了,用編譯器取代安卓的中間環節,能一舉取得高達60%的性能提升。這就是説,從代碼到機器是可以直接對話的,不需要安卓在中間插手。
這其實就藴含着安卓陣營崩潰解體的動機。既然捆在一起潛力不大了,不如分開來各過各的,各自發展自己的分叉操作系統,不需要谷歌協調了。
谷歌也知道這個情況,在開發Fuchsia操作系統,試圖從底層重新出發,解決安卓的問題。例如Fuchsia不要Linux的宏內核了,改用靈活的微內核。谷歌的計劃,是時機成熟時用Fuchsia取代安卓,包括手機、平板等各種機器。這聽上去就像鴻蒙系統,區別只是谷歌發動自我革命。
Fuchsia操作系統
但是看起來,鴻蒙會比Fuchsia更早地大規模投入市場。還是那個問題,谷歌不能自己搞分裂,還想維持表面上的一統天下,開發時要考慮的事情就多。而華為開發鴻蒙時不怕和安卓分家,可以大膽操作。這也是創新的常見局面,舊的大佬不敢革自己的命,新入場的卻能放手大幹一場。
理論上來説,鴻蒙基於微內核,比Linux要靈活,對機器進行優化組合更有空間。而編譯器對於操作系統效率是非常關鍵的,華為會用方舟編譯器積累的技術,甩開安卓虛擬機的限制,直接對各類機器進行高效編譯。
這種開發非常有難度,需要對操作系統底層有深入的瞭解。但只要投入足夠的人力去做,原理上就有把握做出來一個開放的高效操作系統。
中國已經有幾百萬的程序員,建設了富有活力的程序員文化。大家經常看到的程序員笑話,例如關於髮際線的笑話、關於格子衫的笑話、關於程序員沒有女朋友的笑話、關於最好的編程語言是什麼語言的笑話等等,就是這種文化的表現,這其實側面反映了中國的程序員人數之多、社會影響之大。因此,做出這樣一個操作系統對中國來説並不是瓶頸。真正的瓶頸在於,應用程序開發商要配合在新系統上編譯。而且不是隨便編譯能用就行,要深度優化共建生態。
現在有趣的要點來了。美國對華為的禁運,在很大程度上已經幫華為解決了這個最大的問題。如果沒有美國的禁令,華為獨自推出一個新操作系統,那麼請別的公司配合會很麻煩。而在美國的倒逼和中國市場輿論的影響下,中國許多廠商和開發者就會積極地參與進來。
對此的一個旁證,是6月7日,英國《金融時報》報道谷歌向美國商務部遊説,要求解除對華為的安卓禁令,以免給美國國家安全帶來風險。誒,為什麼禁止華為用安卓會給美國國家安全帶來風險呢?谷歌提出了一個非常曲折的理由:華為用不上安卓,就只好開發自己所謂“不夠安全”的混合系統,容易被竊聽泄密;而美國人雖然自己用的手機是安全的,但也免不了要發送信息到這種不安全的華為手機上,所以會有安全風險。
谷歌以美國國家安全為理由要求解除對華為的安卓禁令
谷歌怎麼會搬出這麼繞的理由為華為説話呢?可見谷歌遇到了大麻煩。
以上是技術層面的分析。那麼在商業層面,鴻蒙系統的前景如何呢?陳經的文章可以理解為一個極限情況推演,這個極限是指最好的情況,是一個上限。雖然要料敵從寬,但對上限的估計也是有價值的,也是重要的參考。做人如果沒夢想,那跟鹹魚有什麼分別?下面我就來簡略地介紹一下可能的最好情況。
做人如果沒夢想,那跟鹹魚有什麼分別?
中國用户對鴻蒙系統的興趣明顯非常高,如果華為的新手機用上了新系統,會有很多用户購買試用。如果新系統比起安卓有本質的改進,例如運行速度大幅提升,新系統就不是弱項,而是大賣點。
之前業界關注的是,美國政府可能對OPPO、vivo、小米等其它中國手機廠商也禁運。出於生存壓力,這些手機廠商需要備用操作系統。鴻蒙在這種觀察中,還是一個備用的概念,是極端情況下走投無路的選擇。
現在的進展説明,即使谷歌允許其它中國手機廠商繼續使用安卓,這些廠商也可能會主動採用鴻蒙。
如果這些廠商只有安卓系統,這可能成為一個重大劣勢,例如被認為只有“低檔的操作系統”,或者被認為技術上沒有追求,影響形象。因此即使不是為了防美國禁用,單純只為了市場賣點,各大廠商也需要積極跟進新系統。
還有一個可能的情況是,一些安卓系統的老手機,可以刷機變成鴻蒙系統。如果手機換系統可以提高性能,那麼用户會非常有興趣。
對谷歌來説,説不定一夜之間安卓在中國的市場份額就完蛋了。如果新系統的性能明顯優於安卓,那麼安卓的口碑會崩潰,會被認為是低等的系統,是影響手機賣價的老系統。這不是遙遠的未來,而是2019年就可能開始,是谷歌需要面對的現實危機。
事實上,外國一些公司本來就在盤算安卓系統的份額。例如亞馬遜有一個Fire OS用在kindle、智能音箱等硬件設備上,雖然是基於安卓的,但是改了非常多。亞馬遜在雲計算業務上很厲害,如果搞一個手機平板新操作系統,程序主要跑在雲上,終端負責顯示,這都是自然的發展。亞馬遜系統雖然是基於安卓的,但並不是跟着谷歌不斷升級版本,而是自己搞一套。
以前微軟是認真準備和安卓全面競爭的,一度聲勢很大。後來Windows Phone(簡稱WP)在2017年11月宣佈停止開發了,市場份額變成了零。微軟諾基亞陣營解體,安卓陣營徹底勝利。對開發者來説,蘋果和安卓構成了封閉和開放兩個特色很不相同的陣營。
2017年全球智能手機操作系統市場份額
開放市場是各家打來打去,全球開發者用腳投票,最後安卓一統天下,算是“分久必合”。但這也説明,開放市場是會發生戰爭的,也許哪天又天下大亂了,“合久必分”。現在華為已經確定推出自主操作系統,天下大亂開始了。
天下大勢,合久必分,分久必合
以前大家不出來打,並不是因為安卓很完美,而是因為安卓在上升勢頭,天下由分到合的過程中,開發者們覺得開發省事了,願意跟着安卓一起進步。新玩家跳出來的時機不對,沒有生態做配套,也沒有技術優勢。
等安卓壟斷了開放市場,沒有了戰爭,大家就靜下心來,在不斷的升級中積累了經驗,逐漸認清了安卓的根本弊端。這種弊端是安卓架構的問題,也是安卓陣營過於龐大帶來的困境(如各種機型都要適配),無法通過升級解決。當更先進的架構與技術時機成熟時,必然有起義者開啓亂世。
如果中國市場這裏,安卓的統治居然被一夜掀翻,那麼有實力的全球大公司會非常有興趣跟上分食安卓的份額。IT業的技術擴散很厲害,在開源代碼的幫助下,眾多程序員在精英開發者帶領下,不長時間就弄出來了。
甚至都不用徹底拋棄安卓,只要把安卓弄出無數個分叉,整個安卓陣營也會一片混亂,自立為王的大小公司會到處都是。這種情況谷歌也等於失去了控制,統一升級無從做起,勉強搞個升級聲稱是“正朔”,別人也不買賬。實際上谷歌在論證“禁止華為用安卓有損美國國家安全”的奇怪邏輯中,就是把華為新操作系統稱為安卓的一種“劣質分叉”,已經在自居“正朔”了。
其它公司搞分叉的理由很好理解:谷歌要帶着整個陣營一起升級,拖累太多搞不動。各家公司有特殊的軟硬件體系,華為證明了自己搞能大幅提升性能,那我為什麼不也來搞個分叉試試?
安卓陣營如果崩潰解體,對谷歌的生存有重大影響。
請問,谷歌的錢從哪裏來?回答是廣告。谷歌搞了很多酷炫的研發,例如人工智能,但它的業務核心就是互聯網廣告。谷歌多年來的季報中,廣告收入佔比高達83-90%。2018年,谷歌營收總額為1368.19 億美元,較上年增長 23%,全靠廣告收入增長。
谷歌母公司Alphabet收入情況
對互聯網廣告公司,最關鍵的是流量入口。2018年,谷歌付給蘋果的“買路錢”高達95億美元,2019年據説要漲成120億美元。谷歌2018年第四季的流量獲取成本高達74.4億美元,上漲16%,只是因為廣告業務增速不錯,還能夠覆蓋。
谷歌做得成功的一點是,眼光長遠地收購了安卓,通過免費推廣,壟斷了開放手機操作系統,不然購買流量的買路錢會更加驚人。谷歌還發展了架構不錯性能優秀的瀏覽器Chrome,這也是互聯網流量的重要入口。
如果安卓陣營崩潰了,谷歌可能就會走下坡路,廣告市場被瓜分,流量獲取越來越麻煩。每個手機上面的瀏覽器五花八門,APP亂七八糟,搜索引擎也被換得面目全非。
在全球市場,如果手機操作系統的亂世來了,谷歌可能不知不覺就在不少國家的手機生活中消失了。例如歐盟就對谷歌很不滿,反壟斷罰款搞了幾次,2018年7月就罰了43億歐元。歐洲本來是有傳統廣告市場的,不受美國控制。進入互聯網時代,傳統廣告萎縮,互聯網廣告崛起,歐洲公司卻基本沒有份,市場全讓美國公司佔了。
歐盟曾經和中國合作,在3G、4G時代把美國電信設備公司的技術路線堵死,使美國失去了5G的技術能力。當手機操作系統的亂世來臨,歐盟會有動機再次和中國合作,例如對谷歌發動反壟斷,扶持本土新興互聯網公司。這些辦法中國早就有現成的,技術都準備好了,可以和歐洲公司合資分享美國公司讓出的份額。
現在我們知道,谷歌為什麼居然在曲線幫華為説話。華為和中國以至歐洲以至世界的IT公司如果共建新的生態成功,絕對是對谷歌的重大打擊。這個意義,外界可能還不清楚,相關公司卻是心知肚明的。
從以上的分析可知,安卓陣營崩潰解體是有深刻的技術背景的。但是由於開發新系統的各種麻煩,也沒那麼容易動手。華為如果不是被逼上梁山,也許就不會推出新系統。
逼上梁山
美國政府悍然對中國發動了技術戰爭,自以為能用一紙禁令絕殺中國的高科技企業。但是華為以超強的戰略眼光和執行力做好了準備,中國IT行業也經過多年努力建立了自主的互聯網生態。以此為基礎,中國公司從安卓的固有弊端入手,推出新的操作系統。雖然是為了生存,但最終確實可能沉重打擊美國的互聯網霸權。
最後,讓我們回到我在開頭唸的那首詩,它是《西遊記》的開場詩。《西遊記》是我的啓蒙讀物,請注意我説的是全文原版的《西遊記》,而不是小人書。我上學之前最愛看的就是吳承恩的原著《西遊記》,這首開場詩給我留下了深刻的印象:
混沌未分天地亂,茫茫渺渺無人見。
自從盤古破鴻蒙,開闢從茲清濁辨。