Google 新系統 Fuchsia 概覽和淺析

Fuchsia

一、引言

Pink + Purple == Fuchsia (a new Operating System)html

上面這行簡單的句子就是Google在Github中公開的部分源碼下方的一個介紹,真是簡潔到不行,可是這個系統具體什麼作什麼的?下面來細細扒一下。git

講以前先附上這個項目的Github地址:https://github.com/fuchsia-mirror/fuchsiagithub

二、介紹

儘管 Google 的創新項目一直在虧錢,但這並不能阻止他們持續挖坑的腳步。近日又有消息指出, Google 正在開發一款名爲「Fuchsia」的操做系統,谷歌工程經理 Chris McKillop 在隨後的推文中也證明了這一消息。shell

Fuchsia,使用不一樣的內核全新編寫,支持 PC、手機以及其餘智能設備。業界的聲音廣泛認爲:Fuchsia 的目的就是打通PC和手機,可能會是谷歌將來 IoT 的融合操做系統,甚至有聲音說是爲了代替 Android 和 Chrome OS 而研發的下一代操做系統。編程

這裏有必要先提一下這個系統的開發者。該項目的貢獻者有 Travis Geiselbrecht 和 Brian Swetland,這兩人是 Android 系統的主力開發者,而 Dart,Flutter 又來自 Chrome 團隊,加之其能夠同時支持ARM和x86芯片架構及業內一直盛傳的谷歌打算在2017年統一 Android 和 Chrome OS,因此纔有了上面的分析認爲Fuchsia的目的就是打通PC和手機,甚至是將來IoT的谷歌的融合操做系統。架構

言歸正傳,下面從幾個方面介紹下這個系統。框架

2.1 內核

它不一樣與安卓使用的Linux內核,而是採用的比較新的Magenta的內核。該系統與當下Android相比,不管是存儲器仍是內存之類的硬件要求都大幅下降,能夠看出這是一款面向物聯網的家用電器用的系統。據悉Flutter引擎+Dart語言將頗有可能成爲Fuchsia系統主要的UI開發框架。谷歌Fuchsia選擇Flutter做爲UI並不使人意外,畢竟Dart語言由谷歌親生,一方面不用擔憂被人起訴,另外當Fuchsia有須要時,也能靈活地在Dart虛擬機作出針對性的改變。編程語言

Fuchsia系統支持32位和64位的ARM處理器和64位PC處理器。致力於Fuchsia系統的谷歌開發者的成員之一——Travis Geiselbrecht稱,Fuchsia系統亦將於近期支持樹莓派3。工具

該系統的UI用戶界面層使用的是Dart語言開發的Flutter,渲染器是Escher,而應用程序框架是Mojo。性能

2.2 Fuchsia 會是什麼樣子?

前面所說的 Magenta,是一個微內核和一系列用戶空間的服務、驅動的組合。目前它已經可以在虛擬機、某幾款NUC小電腦和某款筆記本上啓動運行。在虛擬機裏面運行後就是一個字符終端,執行一個叫 mxsh 的 shell,另外還有少許的基本工具和測試程序集 。

只有 Magenate 內核的 Fuchsia 系統,在虛擬機運行起來是這個樣子:

看起來一點都不酷,對不對?!由於這個基本系統沒有圖形用戶界面(GUI)部分。UI部分如今尚未被合併入項目。

不過資料說的是UI層使用的是 Dart 語言開發的 Flutter;渲染器是Escher;應用程序框架Mojo。那咱們試試單獨編譯跨平臺的 Flutter,看看用戶界面會是啥樣。其餘如內核、開發語言、基礎框架等,普通用戶是感知不到的——仍是留給工程師們關注吧。

Flutter 是能夠運行在 Android 和 iOS 上的用戶界面開發庫,從它的源代碼提交和bug跟蹤日誌中的信息看,目前它的引擎還不能運行在 Fuchsia 上,不過已經很接近能夠工做。Flutter 官網聲稱本身仍是一個早期階段的開源項目,經筆者檢驗雖然是早期項目,可是在 Android 手機上運行起來演示程序仍是很容易的。因此,一塊兒圍觀下 —— 「將來」 操做系統上的程序可能會是什麼樣子:

(附一個Flutter的Github地址:https://github.com/flutter/flutter

Flutter採用 Materal Design 設計語言(規範),該規範定義了用戶界面上的元素的用途、外觀、展示形式以及形態變化的規範。

從用戶可見的角度來看,將來 Fuchsia 操做系統內運行的程序,其中的按鈕,對話框,圖片框等等界面組件,基本就應該跟上面圖片中差很少。

2.3 Fuchsia 操做系統的特色

現階段 Fuchsia操做系統的基本狀況是:

  • 內核:Magenta,有能夠在特定設備運行的早期版本,框架設計、核心功能、相關工具鏈較完善。若是須要支持新的(外圍)設備,還有大量驅動須要移植。

  • UI層:Flutter,組件庫已經基本完善,寫一些簡單程序沒有障礙,暫時還沒法在 Fuchsia 運行。官方自稱屬於早期階段的版本,實際也是。另外目前沒有OpenGL ES 方面 3D相關的支持,官方承諾將來會公開本身的優化版 3D編程接口。(因此可能也是暫時沒有炫酷亮閃將來界面的緣由)

  • 渲染引擎:Escher,資料較少不了解,不過應該在渲染速度和效果上有很是突出的優點。

  • 主力編程語言:Dart,面向對象的跨平臺語言,相關的庫已經比較完善且是 Flutter 的開發語言。之後爲 Fuchsia 開發App主要使用 Dart語言。

若是須要了解如今這個項目各個部件所處階段以及項目上資源投入的狀況,也許下面的圖能有個簡單說明。圖中列出了最近一年之內,幾個項目源代碼每週被提交的數據(表明活躍狀況)。左邊縱座標是被提交的次數,每一個項目的橫座標是最近一年週期。

圖中標明瞭重要項目名字以及目前項目的貢獻人數。

能夠看到參與人數多代碼提交比較活躍的,是內核 Magenta 和圖形界面層 Flutter 兩個項目。Flutter 項目比較特殊,它其實很早就啓動了,一直致力於爲 Android/iOS 移動設備提供編碼統一的開發環境。除了 Flutter 以外,其餘全部項目大概都是最近兩個月內被啓動的。其中目前最活躍的是操做系統內核部分,22 名貢獻者中能夠看到很多 Google, Chromium 官方成員在提交代碼。內核開發極度須要技術和經驗,也不是勞動力密集型工種,幾名核心工程師已經足夠,因而可知目前谷歌對內核項目的幹勁仍是比較足的,只是其餘配套項目關注的人數就稍微少了點。

圖上已經很明顯了,總的來講就是 Fuchsia 操做系統如今還在很早期的的階段,構架已經設計好,正一步步完善內容。

從搭建的框架能夠看出,其特色基本上是其所選取組件的優勢的組合,比較有表明性的是:

  • 適合嵌入式設備和高性能設備:magenta內核的基礎lk就是一個嵌入式系統的內核,它的代碼很是的簡潔,適合移植到不一樣的設備上。能夠想象到的目標設備是:物聯網、移動手持設備、可穿戴設備等。

  • 低延遲、高效率:在 Magenta、Escher、Flutter 的項目介紹中均可以看到「實時」、"高效」、「低延遲」這幾個關鍵字,那麼能夠預見 Fuchsia 的目標也是實現一個實時性很是高的操做系統。低延遲有什麼用呢,想象一下VR眼鏡上看虛擬現實的時候,畫面沒有延遲的驚豔爽快感。因此低延遲對這個操做系統一個很是重要的考慮指標,也是核心優勢之一。順便提一下,咱們普通人用到的 Windows,Linux,Android 都不是實時操做系統。OSX, iOS的延遲都比較低,可是通常也沒有把他們劃爲實時操做系統。

  • 高級編程語言:Dart 的目標是設計一個隨處部署、接口穩定、基礎庫完善的開發語言。用在 Fuchsia 能夠看出來要擺脫掉 Java 語言的意圖比較明顯,另外它也是一種須要VM的語言。不過Flutter 的官方資料顯示:通過對比測試,Dart 的在執行性能、開發效率、面向對象、快速內存分配(回收)上的得分都很是高,所以纔會被 Flutter 選爲開發語言。

  • 統一的UI體驗:因爲採用了 Matrial Design 設計語言,因此在 Fuchsia 上運行的程序理論上具備統一的UI體驗。

  • 沒有歷史包袱:徹底從頭設計的系統,不會有爲了兼容考慮的歷史包袱——好比 Java 虛擬機的慢速,又好比 Android 較慢的渲染速度。所以也能夠把體積作的很小,塞到存儲容量很小的設備中。

2.4 Fuchsia 會融合PC和手機,取代 Android、Chrome OS 麼?

這裏到了你們討論最多的發展前景的問題了。網上提到 Fuchsia 取代 Android、Chrome OS,又或者 Fuchsia 跨平臺融合,我的以爲可能性不是很大。且不說 Fuchsia 連是否會作出來最終發佈都不肯定,假設這個操做系統真的發佈了,想代替 Androd 和 Chrome OS,或者融合現有市場上的應用形態,都會很是難。

在一個存量市場上,任何一個全新的產品想替代舊的產品,必需要考慮兩個最大的阻礙:一、用戶習慣;二、生態環境。

Android 系統海量的用戶養成的使用習慣要想被 Fuchsia 替代,除非 Fuchsia 在兼容 Android 上作得很是好,不然用戶很難會使用一個不熟悉的新系統替換原本用着好好的老系統。另外Android 的上下游生態環境從開發語言、相關資料資源、從業人員數量、軟件開發商、設備廠商,到最終做出的軟硬件產品,這個生態圈內的資源數量都是巨大的。生態圈會自動將相關資源繼續留在原有陣營,很難被攻破

關於生態圈最好的例子就是想與 Android/iOS 競爭的 Windows Phone——它已經從咱們生活中消失了。

既然在存量市場上難以成功,全新開發的 Fuchsia 的目標必定是新興市場 —— 一種 Android 和 Chrome OS 等現有操做系統沒法適應,並且應用形態又不同的——將來市場。

網上的猜想都說得比較清楚了,這個市場多是:物聯網、虛擬現實、加強現實、可穿戴等。這些領域尚未成爲標準的壟斷者,現有的 Android,Chrome OS 等操做系統又不太適合這些領域的應用形態。而將來這幾個領域增加的想象空間巨大,值得投入。

回頭看 Fuchsia 的特色:嵌入式、低延遲、高性能、一致性,正是爲了這些產品領域而設計。

因此,操做系統會融合麼?Fuchsia會取代其餘麼?我認爲很是長一段時間內都不會。

引用

http://news.zol.com.cn/600/60...

http://news.mydrivers.com/1/4...

相關文章
相關標籤/搜索