老婆:「晚上 8 點鴻蒙就要正式發佈了,個人 P40 Pro 能夠升級鴻蒙操做系統了。」瀏覽器
我:「恭喜啊,我還在等 P50 或者蘋果的 iPhone13。」markdown
老婆:「你說,鴻蒙的事都快吵兩年了,你學計算機的,你來說兩句,鴻蒙究竟是什麼,它是否是所謂的安卓?」分佈式
我:「這個問題問的好,通常看到有人在爭論鴻蒙是否是安卓的時候,我都不想看,直接離開,由於我以爲這種爭論毫無心義。」spa
老婆:「怎麼說?」操作系統
我:「事實上,要搞清楚一件事情的本質其實很簡單,就是在一個系統中,不斷篩選和剔除系統的成分,當去除某個成分後,這個系統的存在再也不成立,那麼這個成分就是該系統的本質,該系統的本質就是這個成分。」code
老婆:「有點深奧啊,能不能展開講講?」orm
我:「我舉個現實中廣泛的例子。咱們都知道汽車有輪子,民航客機也有輪子,但咱們不能由於客機有輪子就說客機是汽車,對吧,遊戲
由於在剔除掉輪子後,客機仍然是飛行器,飛行器未必須要有輪子,資源
你看,有些直升機、無人機,就沒有輪子,但不妨礙它做爲飛行器。開發
只有將航空發動機、螺旋槳和翅膀去掉後,這個飛行器纔不覆成立。
因此咱們能夠說,客機的本質是飛行器,飛行器的本質是能借助空氣動力學在空中飛行的裝置。」
老婆:「嗯嗯,是這個理。」
我:「那麼鴻蒙呢?鴻蒙其實也是一樣的道理。咱們知道安卓系統的體系結構有 5 層,上層是應用層和 framework,中層是運行時和經常使用的庫,鴻蒙也使用了 AOSP 中的這些成分。
但咱們可否所以就說 「鴻蒙是安卓套殼、安卓魔改」 呢?不能,
由於當咱們將 AOSP 的組件從系統中剔除後,鴻蒙仍然是鴻蒙,鴻蒙做爲一個操做系統仍然成立。因此首先,鴻蒙本質上不是安卓。」
老婆:「那鴻蒙 …」
我:「別急,鴻蒙本質上是個微內核的分佈式系統,甚至你能夠簡單理解爲,它就是個帶 「萬物互聯」 能力的底座,底座上裝載着什麼,這個總體就能提供什麼功能,但它具有與其餘一樣用 「鴻蒙底座」 的設備協同的能力。」
老婆:「沒聽懂。」
我:「簡單來講就是,如今安卓和 iOS 都是經過應用層協議來通訊,藍牙協議是應用層的,應用層協議有個壞處是不穩定、容易斷聯,由於它是做用在軟件中,而軟件可能是運行在用戶空間而非內核空間,在系統資源緊張的時候,有被操做系統殺死的可能。
你回想下,玩遊戲的時候,藍牙鍵盤,藍牙鼠標,是否是常常有延遲,甚至無響應?就是這個緣由。
而鴻蒙它能夠說是專門解決這類問題,它經過這麼一個 「微內核分佈式系統」,來讓全部運行着鴻蒙微內核的設備,均可以經過更爲底層的專屬協議進行通訊,這樣就保證了通訊的時延降到最小,因此華爲纔敢進軍汽車領域,爲廠商提供車載系統,緣由就包括這個,由於智能汽車、自動駕駛,將時延下降到毫秒甚至微秒很是關鍵。」
老婆:「噢!這下懂了,飛機本質上是經過空氣動力學裝置實現飛行,物聯網設備本質上是經過鴻蒙這樣的微內核分佈式操做系統實現萬物互聯,因此鴻蒙底座裝載 AOSP 的成分,它就能夠成爲智能手機或智能汽車的系統,裝載瀏覽器內核,它就能夠成爲智能手錶、智能冰箱的系統 …」
我:「對頭,不愧是我老婆,一點就通!
因此話說回來,提到華爲手機系統,咱們能夠說 —— 這是 「鴻蒙套了安卓的殼(可視化 Shell)」,但不能說 「鴻蒙是套了殼的安卓」,它本質是微內核分佈式系統,上層這些組件只是爲了適應這幾十年已經培養起的用戶習慣,以及複用市場上現有的開發者技能,撇開安卓從新開發一套新的上層毫無現實意義,它志不在這裏,它志在解決萬物互聯的問題。」
老婆:「8 點也快到了,咱們一塊兒準時收看鴻蒙正式版發佈會吧。」
我:「好的。」
我順勢往老婆身上一躺,發現我還沒老婆 …