【軟件】鴻蒙OS和微內核

歡迎關注我的專欄( つ•̀ω•́)つ【人工智能通識】
更多相關文章請點擊【量子計算通識】


這些是收集和整理的一些信息,未必嚴謹,僅供參考。

鴻蒙OS到底有沒有?

隨着2019華爲開發者大會HDC的召開,所有對於鴻蒙OS到底是否存在的懷疑都應該死心了。
鴻蒙OS實有其物,而且已經達到了商業應用的級別,華爲最新發布的智慧屏(就是智能電視)搭載的就是鴻蒙OS的1.0版本。

到現在還懷疑華爲是否有能力開發操作系統的人,只能說智商讓人着急。

智慧屏到底怎麼樣?

沒用過不好亂說,只能看看參數作比較。

普通老百姓買電視機就圖兩個事兒,個兒大,功能誘人,別跟我們談什麼參數色域畫質背光原理之類有的沒的,就說實惠不實惠吧。

榮耀智慧屏分兩個版本,普通版(無攝像頭¥3799)和PRO版(有攝像頭¥4799),都是55寸,作爲對比,小米55寸4X降到了¥1799,65寸4A是¥2699,這個2000~3000元的差價是非常讓人吃驚的。

榮耀智慧屏的最大賣點是秒開機,無廣告。其實現在電視機都是安卓系統,不關機只待機,就和手機、筆記本亮屏差不多,開機速度的差別也就是1秒和2~3秒的區別,基本沒感覺。所以,花2000元差價來去開機廣告,意思不大,而且現在很多智能電視開機廣告也都是靜音的,拍攝的也很漂亮,就5秒10秒的,並非無法接受。

攝像頭通話絕對是好創意,很多老人小孩一定喜歡。但這隻在4799的PRO上纔有,說實話,願意出5000塊買55寸的人根本不在乎性價比這個事兒。

其實榮耀智慧屏上,華爲還是很下功夫很用心的,除了視頻通話之外,還實現了雙向投屏,不僅可以把手機畫面投到電視上玩王者榮耀,更可以把電視界面投射到手機上,這樣可以操作手機一樣控制電視,而不是把手機變成傳統遙控器。另外一個小亮點是這種電視到手機的投屏還可以把聲音投過來,手機上接個耳機看電影看球賽就不會打擾老婆大人了。

榮耀智慧屏雖然實際上並沒有什麼黑科技,但是功能上的微創新還是值得其他電視廠商好好學習一下的。

華爲兩個月開發出鴻蒙OS?

對於搞系統的專業人士來說,開發一個系統真沒那麼難,雖然Windows、MacOS、iOS、Android都是十年幾十年磨一劍,但君不見紅旗、紅帽、烏班圖各種Linux改版滿天飛?君不見曾經的智能電視大戰中五花八門的操作系統?

Android最初經歷了數代好幾年直到4.x纔算走上正軌,但iOS幾乎就是橫空出世天降英雄。這裏面可能最大的原因有兩個,一是蘋果只適配自家硬件,二是喬布斯其實幾年前就啓動開發,只是保密工作做得好。

華爲鴻蒙OS也滿足這兩個條件。首先鴻蒙OS也是隻適配自家硬件的(至少目前是海思自用),其次鴻蒙也一定是很早就動工,而不是今年事發之後纔有的新產品。

華爲什麼時候開始研發鴻蒙OS?十年前?二十年前!華爲上個世紀就在做通訊設備,通訊設備也是要有操作系統的,雖然簡單但也是系統,國內在系統開發這方面技術來說,華爲要是第二,恐怕沒人敢算第一了。

華爲通訊設備上的系統後來就演化成了2015年發佈的LiteOS物聯網系統,已經開源。
LiteOS的Github地址看這裏

2010年之後的互聯網時代,國內巨頭都嘗試做自己的操作系統,最成功影響也最大的當屬阿里巴巴的AliOS,早期叫YunOS,也是參照安卓、基於Linux研發出來的,也是因爲這層關係,AliOS被谷歌踢出門不予承認。AliOS曾經在國產二三線手機廠商中擁有非常可觀的裝機量,一度成爲僅次於安卓蘋果的第三大手機系統,當然後來AliOS也隨着這些不知名手機品牌的死亡而銷聲匿跡。近年,AliOS又在國內汽車企業中獲得支持,也在天貓精靈中大規模使用,並且也推出了AliOS Things物聯網系統,這些在國內都有一定的影響力。

百度也推出了類似的百度手機操作系統和手錶操作系統,以及後來推出的智能交互操作系統DuerOS和麪向自動駕駛的Apollo系統。騰訊2015年也曾推出TencentOS,基本宣告失敗之後也推出了面向物聯網的tiny版。

小米和魅族則選擇了更加簡單輕量的做法,那就是直接在Android基礎上進行界面美化和功能改進,雖然也會做一些底層的代碼優化適配,但標準意義上說,不能算是操作系統開發。

這個時期華爲在做什麼?表面看上去華爲和小米一樣,只是在做他的EmotionUI,但我們有理由相信,注重軟件系統研發的華爲肯定做過更多。

爲什麼會有鴻蒙OS?

我認爲,即使沒有實體名單這個事兒,也照樣會有鴻蒙OS,而且十有八九也是這個時間節點發布。

鴻蒙OS很可能和美國搞事情沒什麼關係。爲什麼這麼說?

Android系統存在着很多無解的問題,虛擬機技術導致的性能瓶頸,開源問題導致的系統碎片化,以及對Oracle家Java的依賴,谷歌全家桶的捆綁等等這些都是不可迴避的。

作爲全球最大的安卓手機廠商,三星從未放棄自研操作系統的計劃,BADA系統不成功,後來就把因特爾和諾基亞的Meego系統整合到一起成爲新的Tizen操作系統,然而終於還是沒能在手機上站穩腳,只能在三星自家的手錶上強行搭載。

小米可能是這幾年國內智能電視銷量最大的品牌,但小米仍然是抄了近路,直接把安卓系統改造之後運行到電視機上,事實證明,效果非常不錯,安卓APP的兼容性自然也是槓桿的。這也是國內電視機廠家最明智的選擇。

但我們有理由相信,華爲的選擇會和小米不同,因爲智能電視市場,華爲是晚來者,不佔優勢。而爲了物聯網,爲了搶佔智能家庭的中樞位置,華爲一定會做更多的準備。而把自身的互聯網操作系統LiteOS升級成爲智能電視操作系統,明顯是一步具有戰略意義的好棋。

從事實上看就是,華爲不可能在兩三個月內研發出完成度如此之高,功能體驗如此完整的操作系統,所以這一定原本就在計劃之中。

鴻蒙OS兼容安卓APP?

鴻蒙OS是搭載了華爲應用市場的,應該是可以兼容安卓APP的。

有人說兼容安卓APP那就一定是安卓系統,這就扯了,Windows裝個模擬器還能模擬遊戲機呢,難不成Windows也是遊戲機系統改的?

最近Windows也宣佈要原生支持安卓APP了。因爲安卓是Linux基礎上派生的,所以Windows就是在原來Windows基礎上加一個Linux系統來運行安卓APP。當然實際做起來沒說的這麼簡單,但原理差不多。

華爲不可能爲了一個智能電視產品重寫Android系統的全部功能,也不可能重寫Linux系統的全部功能,如餘承東會上所說,光Linux系統就有一億行代碼。重寫這些功能至少要好幾年。

那麼鴻蒙OS到底是怎麼實現的?

這個截圖不是很清晰,但我們也能看清大致狀況。

強烈要求你注意左邊的標題,“鴻蒙OS架構圖(當前)”字樣,也就是說,左邊是真實現狀,右邊是美好未來。

鴻蒙OS到底是不是Linux?

我認爲,當前來說,鴻蒙OS就是Linux。

爲什麼?因爲如圖所示,當前鴻蒙OS的內核有三部分:Linux內核、鴻蒙微內核、LiteOS。從代碼量上來看,按照餘承東的話,Linux內核1億行代碼,鴻蒙1萬行,LiteOS沒說,但肯定遠少於Linux。所以,Linux內核至少佔了鴻蒙整個內核的絕大多數代碼,這個情況下你再說它不是Linux就太不厚道了。

那麼是否可以說鴻蒙是Linux基礎上改出來的?我認爲不是。

爲什麼?餘承東會上作了很多關於微內核、宏內核的科普,他沒瞎說,臺下坐了那麼多開發者,他也不敢瞎說。
鴻蒙是微內核架構,Linux是宏內核架構,設計原理都不同,怎麼可能是Linux改出來的?我個人認爲,鴻蒙OS的確是遵照微內核架構設計研發的,而微內核只提供虛擬內存管理、任務線程管理和線程間通信等最基礎的功能,而這個條件下最快速實現兼容安卓APP的方法就是直接將Linux嫁接到鴻蒙的微內核之上,借用Linux內核來運行安卓APP。

簡單說就是,鴻蒙OS是鴻蒙微內核上面嫁接了Linux內核,你用鴻蒙OS基本上就是在用Linux,在用安卓,沒毛病。更多內容可以參考一些關於微內核架構的技術文章,這種套路是慣用的。

微內核是怎麼回事?

微內核就是小內核,宏內核就是大內核。這就好比一組散裝刀具和一組盒裝刀具的概念差別,有的刀具負責文件系統,有的負責視覺界面,有的負責網絡通信,有的負責媒體聲音。微內核只提供一個簡單的道具支架,而宏內核是把這些刀具組裝到一起成爲一把萬能的瑞士軍刀。

餘承東說Linux內核要1億行代碼,鴻蒙OS內核只要1萬行,這絕對是扯淡忽悠人的,真那麼好的話你華爲幫微軟改造一下,讓全世界人民每人都省100G硬盤空間出來好不好?

鴻蒙的小內核只是提供了一個簡易刀架,你可以把各種刀具擺到上面,擺好了一起稱下重量,差不多還得是1億行。你不能拿一個刀架和人家一盒子刀具比重量,這是很不要臉的。

當前的情況是,鴻蒙微內核的刀架上放上了Linux這把瑞士軍刀,所以才能實現各種安卓APP的煎炒烹炸。

華爲未來的願景是把Linux拆開,把殼子扔掉,刀具還是要留下來的,否則怎麼切菜?

當然,華爲還是要把這些刀具重新制造一遍才行,這個工作量就比較大了,差不多就是重寫1億行代碼的事情。當然,拆開的好處就是可以把多餘的刀具扔掉,只保留需要的那幾把,這樣可能幾千萬行代碼或者更少些就能實現需要的功能。

餘承東現場說,普通用戶日常只需要使用安卓全部代碼的8%。這就是個笑話,就像說人類只使用大腦的10%一樣可笑,你試試看把另外90%腦漿倒出來,還能活着不?

微內核好不好?

上個世紀90年代,全球系統研發領域曾經有一場關於微內核、宏內核的大討論,最後也不了了之,沒有定論。

事實是,這二十多年都是宏內核操作系統的勝利,Windows是宏內核,Linux也是,當然MacOS、iOS、Android也都是,微內核的操作系統你可能從來就沒聽說過。

但是宏內核的確笨重,系統功能越複雜就越容易出錯,越不安全。實際上,現在的宏內核操作系統都已經融入了微內核的模塊化分割理念,Windows2000以後、MacOS X以後,都已經不是純粹的宏內核,而是混合內核操作系統了。

可以切身感受到的是,計算機老玩家都記得windows95、98時代經常死機藍屏,而到Windows2000之後藍屏情況就極爲少見了。藍屏就是系統內核崩潰,在windows98時候,文件系統、媒體服務等等這些都是放在系統內核裏面的,只要有一個服務崩潰就導致整個系統藍屏。但比如說把文件系統挪到系統內核之外,如果它崩潰了最多系統把它重新啓動一下就好了,並不會死機藍屏,這就是Windows NT、Windows2000的不同。

微內核可以從根本上實現模塊化隔離定製,最大限度實現系統的穩定。模塊之間的權限對象也單獨傳輸,這就能實現精細化的用戶身份驗證和安全管理,有效增加系統的安全性。當然餘承東在會上還說了很多好處,基本都是真的。

微內核也有缺點,功能模塊被分割開來,信息就要反覆的傳來傳去。微內核有各種牆分割當然就要比宏內核之內沒有阻礙的傳輸費事一些,所以微內核的性能要比宏內核差,這也是二十年來微內核一直不得勢的重要原因。但好在鴻蒙OS還有方舟編譯器,它可以直接把Java代碼和其他代碼直接編譯成機器語言,這相對於安卓的虛擬機模式來說,性能會有明顯的提升,也算是彌補。當然還有很多好的底層優化方法,微內核的性能劣勢現在幾乎可以忽略不計。

谷歌目前Android系統也是會自動將部分Java代碼編譯成機器語言執行的,但不是全部,因爲考慮到兼容更多的手機硬件,Android會不編譯那些不能完美兼容的代碼,這自然導致性能吃虧。而華爲方舟編譯器可以只針對自己的機型和硬件進行優化,沒有谷歌Android那麼大的包袱。

附加

微內核的概念雖然20多年前就已經被提出來,還被深度討論過。但是並不影響此次鴻蒙OS的重大意義,雖然當前鴻蒙OS還不是一個純正意義上的微內核操作系統,但無可否認華爲實現的分佈式軟總線技術是很有創新性和前瞻性的,利用微內核架構優勢,打通多終端計算資源,這纔是未來操作系統該有的樣子。

加油,華爲,不負衆望,砥礪前行,開發出用實力征服世界的操作系統,與全球一流公司共同開拓未來!

最先正式打開微內核操作系統大門的是谷歌前兩年啓動的新操作系統Fuchsia['fjuʃə],華爲也是率先參與其中,在IT領域聯合開發,開源共享,互相借鑑早就不是稀奇的事情,所謂英雄所見略同,谷歌也好,華爲也好,最後誰抓到老鼠的誰就是好貓。

鴻蒙OS,Harmony OS,意味和諧,非常好的名字。
微內核,Micro kernel。
宏內核,Monolithic kernel,也叫單內核。


歡迎關注我的專欄( つ•̀ω•́)つ【人工智能通識】


每個人的智能新時代

如果您發現文章錯誤,請不吝留言指正;
如果您覺得有用,請點喜歡;
如果您覺得很有用,歡迎轉載~


END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章