取代安卓?谷歌新系統 Fuchsia OS 即將殺青,詳解C、C++等與Go的優劣勢對比

轉載自公衆號|SegmentFault

ID|segmentfault_sudo 

作者|徐九

Fuchsia OS 作爲 Google 正在開發的實驗性操作系統,引發了大衆很多猜測,比如其將取代 Android 系統。

實際上,這是谷歌開發的繼 Android 和 Chrome OS 之後的第三個操作系統,並且是一個「非 Linux 系」的系統,採用了谷歌全新微內核 Zircon,並使用 Dart 和 Flutter 打造全新的 UI。

據外媒最新報道稱,目前 Fuchsia OS 的工作已經基本完成,經過谷歌內部的「狗糧」測試流程後,就將正式面向市場。

Fuchsia OS 是什麼

雖然谷歌並未正式公佈過 Fuchsia 在谷歌的戰略地位,但據彭博社的報告推測,Fuchsia 是谷歌試圖使用單一操作系統去統一整個生態圈的一種嘗試。

Fuchsia 的目標是能夠基於谷歌的生態,運行在智能手機、智能音響、筆記本電腦等任何合適的設備之上。據內部消息人士透露,谷歌計劃在未來三年內,先讓 Fuchsia 在智能音響和其他智能傢俱設備上運行起來,然後再轉移到其他的終端設備上,並最終取代 Android 成爲世界上最大的移動操作系統。

取代 Andriod 在很多人看來是無稽之談,但瞭解 Andriod 背景情況的人就不難理解,因爲 Andriod 存在着很多無法解決的弊端。

事實上,Android 早在 iPhone 發佈之前就已經構建好了,最初是被用作數碼相機的操作系統。iPhone 發佈後,Android 才被臨時移植到手機,並一直沿用至今。

但隨着互聯網的發展,尤其是物聯網和 5G 的逐漸開始落地,谷歌在 Android 上面臨許多挑戰。例如,Android 大部分內容並不符合谷歌對智能設備的未來期望,比如語音交互方面、爲整個安卓生態系統內的設備推送更新等,而 Fuchsia 的出現就是爲了解決這些問題。

但替代 Andriod 一定是一個緩慢且漫長的過程。目前市面上很多的手機和智能硬件廠商都還非常依賴於 Android,這是谷歌不得不考慮的問題。

如果谷歌真的開始大力推進 Fuchsia 的市場化,這對於整個智能終端市場來說都是一個艱難的轉折變化。谷歌也將面臨着市場流失的風險。

Fuchsia 編輯語言策略

Fuchsia 的開發者網站上公佈了一份 Fuchsia 編輯語言策略,該文檔對 Fuchsia 涉及到的編程語言分別進行了優缺點分析以及對各語言的使用策略。

從該文檔中我們能夠瞭解到該系統的設計目的、思路和未來的發展方向。

比如其對 C 語言的解讀是這樣的:
優點:

  • C 是一種廣泛使用的語言。該語言具有易於理解的特性,已在很長一段時間內保持穩定,並且過去已用於構建類似的系統。該語言具有成熟的工具鏈和相關的開發人員工具;

  • C 具有穩定的 ABI,這使得 Fuchsia SDK 包含預編譯的二進制文件,供最終開發人員重複使用;

  • 許多語言可以使用外部函數接口與 C 互操作。支持 C 可使最終開發人員更輕鬆地將這些語言與 Fuchsia 集成在一起;

  • 我們目前的最終開發人員已經在使用該語言。

缺點:

  • 對異步編程的支持很弱;

  • 用該語言編寫的程序通常會由於該語言缺乏內存安全性而導致安全漏洞;

  • 用該語言編寫的程序經常包含資源泄漏,因爲該語言沒有提供自動釋放資源的功能;

  • 與 C ++ 相比,類型安全性較弱。簡單地將某些 C 代碼重新編譯爲 C++ 通常會導致編譯器錯誤,這些錯誤會掩蓋代碼中的潛在錯誤。

使用策略:

  • 終端開發者支持使用 C;

  • 在 Fuchsia Platform Source Tree 中,不鼓勵使用 C 的新用法;

  • C 被批准用於 Fuchsia Platform Source Tree 中:用於低級系統編程,包括內核中的編程;以及用於定義到共享庫和其他系統組件的 ABI 穩定接口;


因爲文檔內容較多,就不一一列舉了,文末有文檔的鏈接地址。總結一下就是:

  • C:被支持用於終端開發者

  • C++:被支持用於終端開發者

  • Dart:被支持用於面向非驅動程序的終端開發者- Rust:終端開發者不支持使用 Rust- Go:僅被批准在網絡技術棧中使用- Python:終端開發者不支持使用 Python


Fuchsia 即將進入「狗糧」測試

除了正常的公開測試階段(如 Alpha 和 Beta)外,Google 還有很多內部測試階段,比如「dogfood(狗糧)」。

「狗糧」測試期,意思是讓開發者親自安裝使用操作系統,通過測試找到缺點和不足,這個階段設置在普通用戶測試之前。

說個題外話,谷歌的測試流程真的很有意思。

除了「狗糧」外,谷歌還有相當多的內部測試階段,例如當 Google + 還處於早期開發階段時,在進行全公司範圍的「狗糧測試」之前,他們做了一個小範圍的「fishfood(魚食)」測試...

此外,谷歌有時在「魚食」和「狗糧」之間還有一個範圍稍微大一點的「teamfood(團隊食品)」測試階段,「狗糧」通常是在生產或公開測試之前的最後一個,幾乎是全公司的內部測試。

在過去的一年裏,有跡象表明至少部分 Fuchsia OS 系統已經通過了「魚食」和「團隊食品」的測試,馬上就要進行「狗糧」階段的測試。

雖然還未正式開放,但目前已有很多企業加入了 Google Fuchsia 生態。據 Fuchsia 中文社區官方發佈,目前可以公佈的 14 家公司的名單是:索尼、三星、華爲、OPPO、Vivo、夏普、ARM、高通、聯發科、Imagination Technologies、意法半導體、小米、清華紫光展訊、GlobalEdge Software。

從上面可以看到中國公司是最多的,光大陸就已經有了 5 家公司,如果算上聯發科,中國公司將有 6 家,絕對是目前 Fuchsia 生態參與最多的國家。而 Google 的母國美國反而只有高通一家公司。

國產操作系統進展如何?

上文我們寫到,有很多國內企業參與了谷歌 Fuchsia 生態,這是放棄了自研操作系統麼? 並不是,可能只是無奈之舉和一種更爲泛化的嘗試策略。

在很長時間裏,國產操作系統一直都處於一個尷尬的境地,尤其是 2006 年的那一起「國產系統造假事件」,讓市場和大衆輿論對國產操作系統的風評降入谷底。當時也有業內人士表示,很多國產操作系統廠商的出發點只在於獲取國家的補貼,對於實際的研發和能否商業化只是“走個過場”。

然而,隨着全球局勢的變化,對於成熟且自主可控的國產操作系統還有自主研發芯片的需求已經迫在眉睫。近兩年我們也能看到,市場關於國產操作系統的聲音已經越來越大,因爲越來越多的關注和國內廠商的投入,也正在逐漸有所突破。

2020 年,國產操作系統能真正取得突破性的進展、開始佔據一席之地麼?我們拭目以待。

相關資料:

Fuchsia OS 中文社區https://fuchsia-china.com

Fuchsia 官方代碼GoogleSource.com
Fuchsia OS 源碼的國內鏡像https://fuchsia-china.com/fuchsia-source-code-china-mirror Fuchsia Programming Language Policyhttps://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/docs/project/policy/programming_languages.md

- END -

本文對你有幫助嗎?留言、轉發、點好看是最大的支持,謝謝!


公衆號後臺回覆成長『成長』,將會得到我準備的學習資料。

推薦閱讀:

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