小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深度解析:面向未來的操作系統(tǒng),谷歌 Fuchsia究竟會是什么樣子的?

 昵稱71360118 2020-09-01

雷鋒網(wǎng)按:本文作者何楚,開源軟硬件愛好者,Linux重度用戶,工程師、分析師。雷鋒網(wǎng)獨家文章。

近日,據(jù)外媒報道,Google 目前正在致力于開發(fā)一款新的開源操作系統(tǒng)—— Fuchsia,使用不同的內(nèi)核全新編寫,支持 PC、手機以及其他智能設(shè)備。業(yè)界的聲音普遍認為:Fuchsia 的目的就是打通PC和手機,可能會是谷歌未來 IoT 的融合操作系統(tǒng),甚至有聲音說是為了代替 Android 和 Chrome OS 而研發(fā)的下一代操作系統(tǒng)。

根據(jù)網(wǎng)絡(luò)信息:它使用的不是 Linux 內(nèi)核而是叫 Magenta 的新內(nèi)核;它的UI層使用的是 Dart 語言開發(fā)的Flutter;渲染器是Escher;應(yīng)用程序框架Mojo。除此之外沒有太多對這個項目細節(jié)的說明。創(chuàng)始人在 irc 上被問道:“為啥沒個文檔說明也不宣布一下,就把它開源了?”,回答:“(我們)決定把它開源,而且覺得應(yīng)從項目初期開始(因此一切都不完善,也因此沒有對外宣布)”。

所以要了解這個項目的具體情況,比較好的方法就是翻文檔和代碼。

| Fuchsia 會是什么樣子?

官網(wǎng)的文檔資料很少,筆者把能找到的都翻出來過了一遍,嘗試把 Fuchsia 運行起來。

前面所說的 Magenta,是一個微內(nèi)核和一系列用戶空間的服務(wù)、驅(qū)動的組合。目前它已經(jīng)能夠在虛擬機、某幾款NUC小電腦和某款筆記本上啟動運行。在虛擬機里面運行后就是一個字符終端,執(zhí)行一個叫 mxsh 的 shell,另外還有少量的基本工具和測試程序集 。

只有 Magenate 內(nèi)核的 Fuchsia 系統(tǒng),在虛擬機運行起來是這個樣子:

圖:虛擬機內(nèi)跑起來的 magenta 內(nèi)核 

看起來一點都不酷,對不對?!因為這個基本系統(tǒng)沒有圖形用戶界面(GUI)部分。繼續(xù)閱讀 Fuchsia 編譯文檔,經(jīng)過長時間的下載、編譯、等待和嘗試,筆者也沒有能成功見到一個在 magenta 內(nèi)核上運行的 GUI 程序。再仔細檢查源碼和文檔才發(fā)現(xiàn),UI 部分現(xiàn)在還沒有被合并入項目。

好吧,資料說“它的UI層使用的是 Dart 語言開發(fā)的 Flutter;渲染器是Escher;應(yīng)用程序框架Mojo”。那我們試試單獨編譯跨平臺的 Flutter,看看用戶界面會是啥樣。其他如內(nèi)核、開發(fā)語言、基礎(chǔ)框架等,普通用戶是感知不到的——還是留給工程師們關(guān)注吧。

Flutter 是可以運行在 Android 和 iOS 上的用戶界面開發(fā)庫,從它的源代碼提交和bug跟蹤日志中的信息看,目前它的引擎還不能運行在 Fuchsia 上,不過已經(jīng)很接近可以工作。Flutter 官網(wǎng)聲稱自己還是一個早期階段的開源項目,經(jīng)筆者檢驗雖然是早期項目,但是在 Android 手機上運行起來演示程序還是很容易的。所以,一起圍觀下 —— “未來” 操作系統(tǒng)上的程序可能會是什么樣子(請忽略Android自帶黑邊和某運營商標志):

圖:跑在 Android 手機上的 Flutter Gallery 演示程序

Flutter采用 Materal Design 設(shè)計語言(規(guī)范),該規(guī)范定義了用戶界面上的元素的用途、外觀、展現(xiàn)形式以及形態(tài)變化的規(guī)范。

從用戶可見的角度來看,未來 Fuchsia 操作系統(tǒng)內(nèi)運行的程序,其中的按鈕,對話框,圖片框等等界面組件,基本就應(yīng)該跟上面圖片中差不多——當然未來也可能會改變——而那些科幻電影中炫酷亮眼的3D特效、隔空指點、虛擬(增強)現(xiàn)實畫面,暫時還不能從演示程序中看到。

嗯,目前來看 Fuchsia 上的 App 的界面,大概就是這個感覺。

| 插播,扒一下 Fuchsia 開發(fā)者

Fuchsia 項目的知名參與者包括 Travis Geiselbrecht 和 Brian Swetland。

早在久遠的上個世紀九十時代中期,當時的蘋果公司因自家的操作系統(tǒng)無法及時推出,正尋找替代品。當時有兩個理想的候選產(chǎn)品分別是 Be 公司的多媒體操作系統(tǒng)BeOS,以及被蘋果公司掃地出門的喬布斯開辦的 NeXT 公司的產(chǎn)品 NeXTSTEP。后來由于 Be 公司要價太高等原因,蘋果公司收購了NeXT公司重新獲得喬布斯繼而研發(fā)出后來大放異彩的 OSX,而 Be 公司則由于經(jīng)營不善在2001年黯然被Palm公司收購。

能被蘋果公司列為收購目標的 BeOS 實力自然不弱,而上面這兩位小哥,就曾在 Be 公司做操作系統(tǒng)開發(fā)。由于 BeOS 在當時來說設(shè)計非常先進,公司關(guān)門后很多工程師和愛好者覺得可惜,所以繼承BeOS的設(shè)計重新實現(xiàn)了一個開源系統(tǒng)名字叫 Haiku,Haiku 使用的內(nèi)核叫做 NewOS。自然地 —— NewOS 的發(fā)起人和主力開發(fā)就是這倆哥們。

可能倆人對極度精簡的產(chǎn)品比較偏愛,又或者是覺得 NewOS 內(nèi)核的設(shè)計還太過厚重,總之,2008 年倆人又針對嵌入式設(shè)備設(shè)計了一個極其輕巧的內(nèi)核 littlekernel(簡稱:lk)。

一晃快20年過去,隨著所供職公司的關(guān)停并轉(zhuǎn),他們又分別在Danger、Palm、Android、Apple、Google等巨頭公司工作過。Brian Swetland 最近的一份工作是在谷歌任高級軟件工程師,負責管理 Linux 內(nèi)核開發(fā)相關(guān)事務(wù)。幾天前,他在 github 上公布了 Fuchsia,用到的內(nèi)核叫做 Magenta,正是基于他們的 lk 內(nèi)核項目擴展功能而來。

可以看出來,項目負責人絕對是經(jīng)驗豐富的老司機了。

| Fuchsia 操作系統(tǒng)的特點

所以,現(xiàn)階段 Fuchsia操作系統(tǒng)的基本情況是:

  • 內(nèi)核:Magenta,有可以在特定設(shè)備運行的早期版本,框架設(shè)計、核心功能、相關(guān)工具鏈較完善。如果需要支持新的(外圍)設(shè)備,還有大量驅(qū)動需要移植。

  • UI層:Flutter,組件庫已經(jīng)基本完善,寫一些簡單程序沒有障礙,暫時還無法在 Fuchsia 運行。官方自稱屬于早期階段的版本,實際也是。另外目前沒有OpenGL ES 方面 3D相關(guān)的支持,官方承諾未來會公開自己的優(yōu)化版 3D編程接口。(所以可能也是暫時沒有炫酷亮閃未來界面的原因)

  • 渲染引擎:Escher,資料較少不了解,不過應(yīng)該在渲染速度和效果上有非常突出的優(yōu)勢。

  • 主力編程語言:Dart,面向?qū)ο蟮目缙脚_語言,相關(guān)的庫已經(jīng)比較完善且是 Flutter 的開發(fā)語言。以后為 Fuchsia 開發(fā)App主要使用 Dart語言。

如果需要了解現(xiàn)在這個項目各個部件所處階段以及項目上資源投入的情況,也許下面的圖能有個簡單說明。圖中列出了最近一年以內(nèi),幾個項目源代碼每周被提交的數(shù)據(jù)(代表活躍情況)。左邊縱坐標是被提交的次數(shù),每個項目的橫坐標是最近一年周期。

圖:項目活躍度圖

圖中標明了重要項目名字以及目前項目的貢獻人數(shù)。

可以看到參與人數(shù)多代碼提交比較活躍的,是內(nèi)核 Magenta 和圖形界面層 Flutter 兩個項目。Flutter 項目比較特殊,它其實很早就啟動了,一直致力于為 Android/iOS 移動設(shè)備提供編碼統(tǒng)一的開發(fā)環(huán)境。除了 Flutter 之外,其他所有項目大概都是最近兩個月內(nèi)被啟動的。其中目前最活躍的是操作系統(tǒng)內(nèi)核部分,22 名貢獻者中可以看到不少 Google, Chromium 官方成員在提交代碼。內(nèi)核開發(fā)極度需要技術(shù)和經(jīng)驗,也不是勞動力密集型工種,幾名核心工程師已經(jīng)足夠,由此可見目前谷歌對內(nèi)核項目的干勁還是比較足的,只是其他配套項目關(guān)注的人數(shù)就稍微少了點。

圖上已經(jīng)很明顯了,總的來說就是 Fuchsia 操作系統(tǒng)現(xiàn)在還在很早期的的階段,構(gòu)架已經(jīng)設(shè)計好,正一步步完善內(nèi)容。

從搭建的框架可以看出,其特點基本上是其所選取組件的優(yōu)點的組合,比較有代表性的是:

  • 適合嵌入式設(shè)備和高性能設(shè)備:magenta內(nèi)核的基礎(chǔ)lk就是一個嵌入式系統(tǒng)的內(nèi)核,它的代碼非常的簡潔,適合移植到不同的設(shè)備上。可以想象到的目標設(shè)備是:物聯(lián)網(wǎng)、移動手持設(shè)備、可穿戴設(shè)備等。

  • 低延遲、高效率:在 Magenta、Escher、Flutter 的項目介紹中都可以看到“實時”、"高效”、“低延遲”這幾個關(guān)鍵字,那么可以預(yù)見 Fuchsia 的目標也是實現(xiàn)一個實時性非常高的操作系統(tǒng)。低延遲有什么用呢,想象一下VR眼鏡上看虛擬現(xiàn)實的時候,畫面沒有延遲的驚艷爽快感。所以低延遲對這個操作系統(tǒng)一個非常重要的考慮指標,也是核心優(yōu)點之一。順便提一下,我們普通人用到的 Windows,Linux,Android 都不是實時操作系統(tǒng)。OSX, iOS的延遲都比較低,但是一般也沒有把他們劃為實時操作系統(tǒng)。

  • 高級編程語言:Dart 的目標是設(shè)計一個隨處部署、接口穩(wěn)定、基礎(chǔ)庫完善的開發(fā)語言。用在 Fuchsia 可以看出來要擺脫掉 Java 語言的意圖比較明顯,另外它也是一種需要VM的語言。不過Flutter 的官方資料顯示:經(jīng)過對比測試,Dart 的在執(zhí)行性能、開發(fā)效率、面向?qū)ο蟆⒖焖賰?nèi)存分配(回收)上的得分都非常高,因此才會被 Flutter 選為開發(fā)語言。

  • 統(tǒng)一的UI體驗:由于采用了 Matrial Design 設(shè)計語言,所以在 Fuchsia 上運行的程序理論上具有統(tǒng)一的UI體驗。

  • 沒有歷史包袱:完全從頭設(shè)計的系統(tǒng),不會有為了兼容考慮的歷史包袱——比如 Java 虛擬機的慢速,又比如 Android 較慢的渲染速度。因此也可以把體積做的很小,塞到存儲容量很小的設(shè)備中。

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

網(wǎng)上提到 Fuchsia 取代 Android、Chrome OS,又或者 Fuchsia 跨平臺融合,筆者覺得可能性不是很大。且不說 Fuchsia 連是否會做出來最終發(fā)布都不確定,假設(shè)這個操作系統(tǒng)真的發(fā)布了,想代替 Androd 和 Chrome OS,或者融合現(xiàn)有市場上的應(yīng)用形態(tài),都會非常難。

在一個存量市場上,任何一個全新的產(chǎn)品想替代舊的產(chǎn)品,必須要考慮兩個最大的阻礙:1、用戶習(xí)慣;2、生態(tài)環(huán)境。

Android 系統(tǒng)海量的用戶養(yǎng)成的使用習(xí)慣要想被 Fuchsia 替代,除非 Fuchsia 在兼容 Android 上做得非常好,否則用戶很難會使用一個不熟悉的新系統(tǒng)替換本來用著好好的老系統(tǒng)。另外Android 的上下游生態(tài)環(huán)境從開發(fā)語言、相關(guān)資料資源、從業(yè)人員數(shù)量、軟件開發(fā)商、設(shè)備廠商,到最終作出的軟硬件產(chǎn)品,這個生態(tài)圈內(nèi)的資源數(shù)量都是巨大的。生態(tài)圈會自動將相關(guān)資源繼續(xù)留在原有陣營,很難被攻破。

關(guān)于生態(tài)圈最好的例子就是想與 Android/iOS 競爭的 Windows Phone——它已經(jīng)從我們生活中消失了。

既然在存量市場上難以成功,全新開發(fā)的 Fuchsia 的目標一定是新興市場 —— 一種 Android 和 Chrome OS 等現(xiàn)有操作系統(tǒng)無法適應(yīng),而且應(yīng)用形態(tài)又不一樣的——未來市場。

網(wǎng)上的猜測都說得比較清楚了,這個市場可能是:物聯(lián)網(wǎng)、虛擬現(xiàn)實、增強現(xiàn)實、可穿戴等。這些領(lǐng)域還沒有成為標準的壟斷者,現(xiàn)有的 Android,Chrome OS 等操作系統(tǒng)又不太適合這些領(lǐng)域的應(yīng)用形態(tài)。而未來這幾個領(lǐng)域增長的想象空間巨大,值得投入。

回頭看 Fuchsia 的特點:嵌入式、低延遲、高性能、一致性,正是為了這些產(chǎn)品領(lǐng)域而設(shè)計。

所以,操作系統(tǒng)會融合么?Fuchsia會取代其他么?我認為非常長一段時間內(nèi)都不會。

注1:本文內(nèi)容從 Haiku 中文社區(qū)負責人 kurain 處獲得諸多有價值的史料信息。kurain 是 Haiku 官方國際化項目中的 Chinese Language Manager,幾乎獨自中文化翻譯了所有的 Haiku 官方文檔和開發(fā)手冊。同時 kurain 也是一名軟硬件極客,他的 github 賬號是 haiku-cn。在此對 kurain 表示感謝。

注2:本文行文倉促,相關(guān)文檔資料未能深入閱讀理解,如有錯誤敬請指正!非常感謝!

雷鋒網(wǎng)注:轉(zhuǎn)載請聯(lián)系我們授權(quán),并保留出處和作者,不得刪減內(nèi)容。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多