Fuchsia——谷歌未來的OS
谷歌正在開發(fā)一個新的OS: Fuchsia OS,這個技術(shù)團(tuán)隊(duì)放棄了 Linux 架構(gòu),轉(zhuǎn)而基于自行開發(fā)的微內(nèi)核 Zircon。Fuchsia 不僅可以取代桌面OS Chrome OS,還可以取代為移動設(shè)備設(shè)計(jì)的 Android,盡管 Android占據(jù)了智能手機(jī)操作系統(tǒng)85%的市場份額。這個操作系統(tǒng)最終可以取代谷歌現(xiàn)有的操作系統(tǒng),成為一個跨所有設(shè)備的統(tǒng)一系統(tǒng),但在這個時候說這個還為時過早,因?yàn)樗€處于試驗(yàn)階段。
本文引用地址:http://www.ex-cimer.com/article/202012/421678.htm谷歌的Fuchsia是未來的OS嗎? 我們已經(jīng)仔細(xì)研究了這個項(xiàng)目。
什么是谷歌Fuchsia?
Fuchsia不僅是介于紅色和藍(lán)色之間的顏色,而且是谷歌自2016年以來一直在公眾面前開發(fā)的模塊化、基于版權(quán)的實(shí)時OS的名稱。該系統(tǒng)是用 c、 c + + 、 Dart、 Go 和 Rust 編寫的,運(yùn)行在現(xiàn)代64位英特爾ARM 處理器上。
與基于 Linux 的 Android OS 或 Chrome OS 不同,F(xiàn)uchsia是基于 Zircon內(nèi)核構(gòu)建的,Zircon是谷歌創(chuàng)建的一個新內(nèi)核。與此同時,Armadillo 內(nèi)置在谷歌的 Flutter SDK 中,該軟件用于創(chuàng)建跨平臺的代碼,能夠在多個設(shè)備和操作系統(tǒng)上運(yùn)行。使用 Armadillo,不同的卡片可以在分屏或選項(xiàng)卡界面中拖動使用
RTOS能夠?qū)κ录鞒鲰憫?yīng),并在預(yù)定義的時間內(nèi)即時提供處理結(jié)果。
谷歌自己的文檔將該軟件描述為針對“現(xiàn)代手機(jī)和現(xiàn)代個人電腦”的“快速處理器”和“大量內(nèi)存”它還明確指出“ Fuchsia 不是 Linux”在 Fuchsia 的 GitHub 頁面上列出了兩位開發(fā)者——一位是谷歌的高級軟件工程師,一位是 Android TV 和 Nexus q 的前工程師——他們都是嵌入式系統(tǒng)領(lǐng)域的知名專家
正如我們所提到的,F(xiàn)uchsia 是建立在 Zircon 之上的,這是一個“中等大小的微內(nèi)核” ,基于 LittleKernel 項(xiàng)目,用于嵌入式系統(tǒng),比如一個不需要整個操作系統(tǒng)的設(shè)備,比如一個物聯(lián)網(wǎng)設(shè)備。Google 的文檔說明 Zircon 支持用戶模式、圖形渲染和“基于能力的安全模型”。這一切都表明 Fuchsia 是物聯(lián)網(wǎng)的操作系統(tǒng)。
Fuchsia OS 的源代碼有開源許可證(包括 BSD、 MIT 和 Apache 許可證) ,任何人都可以在 Google 的公共 Git 倉庫中查看和下載。這里有一個關(guān)于這個項(xiàng)目的全面文檔。
根據(jù)文檔,F(xiàn)uchsia OS 同樣適用于智能手機(jī)、平板電腦、筆記本電腦和臺式電腦。從2017年5月開始,Armadillo 已經(jīng)有了一個觸摸優(yōu)化的用戶界面(UI)和一個圖形用戶界面。谷歌正在為 Fuchsia OS開發(fā)一個名為 Capybara 的桌面用戶界面。從那時起,就有傳言說谷歌正在研究一種幾乎無與倫比的安卓系統(tǒng)的替代品。
安卓系統(tǒng)仍然存在碎片化問題。這是由于數(shù)十家制造商的數(shù)百臺設(shè)備使用不同的自定義 Android 版本,而不是最新、最純的版本。安卓系統(tǒng)也有更新問題,源于開源操作系統(tǒng)。谷歌為 Android 系統(tǒng)的更新制定了年度發(fā)布計(jì)劃,但是需要一段時間才能完全覆蓋整個生態(tài)系統(tǒng)。谷歌把安卓系統(tǒng)提供給 oem 和運(yùn)營商,讓他們修修補(bǔ)補(bǔ),隨機(jī)加載到硬件上,導(dǎo)致系統(tǒng)分裂。如果已經(jīng)做了任何修改,谷歌不能直接向設(shè)備推送更新。也是基于 Linux 的,Linux 一直受到許多法律問題的困擾,而且內(nèi)核已經(jīng)被完全調(diào)整,為 bug 和漏洞的增長創(chuàng)造了一個主要的環(huán)境。
Fuchsia的OS是如何工作的?
谷歌在Fuchsia OS的開發(fā)上開辟了新天地??梢哉f,蘋果公司已經(jīng)從過去的錯誤中吸取了教訓(xùn)——尤其是在更新和修改 Android 和 Chrome OS方面的限制和問題?,F(xiàn)有的谷歌OS的核心區(qū)別在于: Fuchsia OS 從開始到結(jié)束都是模塊化的。這不僅反映在模塊化系統(tǒng)體系結(jié)構(gòu)中,而且反映在對應(yīng)用程序的全新理解中。
模塊化應(yīng)用程序設(shè)計(jì)
Google Fuchsia 基于模塊化設(shè)計(jì),打破了應(yīng)用的概念。軟件單元稱為軟件包。包是文件的選擇——包括元數(shù)據(jù)、清單文件和可執(zhí)行元素。后者在谷歌術(shù)語中被稱為Components。
Fuchsia components最接近我們今天所說的應(yīng)用程序。每個組件執(zhí)行一個特定的任務(wù),并且可以與其他組件組合以支持復(fù)雜的應(yīng)用程序。組件的各個部分包括一個清單文件以及關(guān)聯(lián)的代碼。組件總是在自己的沙箱中運(yùn)行,通過名稱空間訪問對象,并通過導(dǎo)出目錄發(fā)布它們。Fuchsia OS 主要關(guān)注兩種類型的組件: 模塊和代理。
Components中的組件在后臺工作,并為其他組件提供服務(wù)。代理被另一個組件或系統(tǒng)調(diào)用——例如,響應(yīng)某些觸發(fā)器,如推送通知或其他屏幕上的進(jìn)程。
Modules是在前臺執(zhí)行、用戶可見的具有用戶界面的組件。OS中的每個模塊都是為特定任務(wù)設(shè)計(jì)的,并相應(yīng)地標(biāo)記,以便在需要時能夠自動訪問。這是通過模塊的函數(shù)完成的,可以用所謂的動詞和名詞來描述。
每個模塊都包含一個動詞列表,用于指示模塊可以完成哪些工作,以及一個表示正在處理的實(shí)體的名詞列表。根據(jù) Google 的術(shù)語,術(shù)語實(shí)體包括任何唯一可識別的人、地點(diǎn)、事物、事件或概念,它們作為結(jié)構(gòu)化數(shù)據(jù)對象存在,可以被引用、檢索、呈現(xiàn)、操作或共享。
實(shí)際上,使用實(shí)時OS Fuchsia 的情況如下: 只要用戶執(zhí)行一個操作,F(xiàn)uchsia OS 就會自動確定任務(wù)的合適模塊。所需的動作被翻譯成動詞和名詞的組合。然后系統(tǒng)檢索所有支持所需謂詞的模塊列表,在下一步中,根據(jù)也可以處理所需名詞的模塊進(jìn)行過濾。
相關(guān)的模塊可以組合成所謂的故事。情景根據(jù)當(dāng)前需求將不同的操作和任務(wù)組合在一起,并且應(yīng)該使用戶能夠根據(jù)自己的想法和需求組裝復(fù)雜的應(yīng)用程序。
小結(jié):借助于 Fuchsia OS 的模塊化應(yīng)用概念,Google 將重點(diǎn)從應(yīng)用轉(zhuǎn)移到了動作和內(nèi)容上。與傳統(tǒng)的應(yīng)用程序OS不同,F(xiàn)uchsia 的任務(wù)由一組組件在所謂的故事中處理,這些組件通過模塊訪問當(dāng)前所需的資源。
下面的圖形說明了 Fuchsia OS 應(yīng)用程序開發(fā)背后的模塊化概念。
Fuchsia OS應(yīng)用程序的開發(fā)是基于模塊化結(jié)構(gòu)
模塊化系統(tǒng)體系結(jié)構(gòu)
Fuchsia OS 的系統(tǒng)架構(gòu)也是基于模塊化的方法。OS由四個或多或少相互獨(dú)立的級別組成,每個級別都有自己的任務(wù): Garnet、Zircon、Peridot和Topaz。
1)Zircon
Zircon (原名 Magenta)是谷歌新OS的基礎(chǔ),但嚴(yán)格來說它不是 Fuchsia OS 的一部分,也可以與其他OS一起使用。
Zircon 包含 Fuchsia OS 內(nèi)核、設(shè)備管理器、最核心和第一方設(shè)備驅(qū)動程序,以及 libc 和 launchpad 等低級系統(tǒng)庫。此外,Zircon 還提供了 FIDL (Fuchsia 接口定義語言) ,一種用于進(jìn)程間通信的協(xié)議。FIDL 是獨(dú)立于編程語言的,但與流行的編程語言如 c、 c + + 、 Dart、 Go 和 Rust 有聯(lián)系。
作為 Fuchsia OS 的基礎(chǔ),Zircon 為后續(xù)級別提供硬件訪問,在共享的硬件資源上創(chuàng)建軟件抽象,并作為低級別軟件開發(fā)的平臺。Zircon 是小內(nèi)核項(xiàng)目(LK)的結(jié)果,它充當(dāng) Android 的引導(dǎo)裝載程序。
2)Garnet
Garnet是第一個基于Garnet的Fuchsia特定系統(tǒng)層。在設(shè)備級別提供各種系統(tǒng)服務(wù),以及網(wǎng)絡(luò)、媒體和圖形服務(wù)——例如軟件安裝、系統(tǒng)管理和與其他系統(tǒng)的通信。Garnet 包含圖形渲染器 Escher,包管理和更新系統(tǒng) Amber,以及文本和代碼編輯器 Xi。
3)Peridot
Peridot是OS的Fuchsia OS的水平,其中模塊化的應(yīng)用程序(見上文)是管理和編譯根據(jù)目前的用戶需求。Peridot的核心成分是Ledger和Maxwell。
? Ledger: Ledger 是一個基于云的存儲系統(tǒng)(分布式存儲系統(tǒng)) ,它為每個 Fuchsia 組件(模塊或代理)提供單獨(dú)的數(shù)據(jù)存儲。這在不同的設(shè)備之間是同步的。這使得用戶可以在 Fuchsia 設(shè)備上繼續(xù)使用另一款Fuchsia設(shè)備。分類帳是安全的到用戶的谷歌帳戶
? Maxwell: 通過Maxwell,谷歌在Fuchsia OS中集成了一個組件,支持用戶的人工智能。就像 Fuchsia 一樣,Maxwell采用了模塊化設(shè)計(jì)。人工智能系統(tǒng)由一系列代理組成,這些代理分析用戶的行為及其使用的內(nèi)容,確定后臺中的適當(dāng)信息,并向OS提出建議——例如,應(yīng)該加載哪些模塊或故事以適應(yīng)用戶在特定時間的行為。谷歌語言助手也是人工智能組件的一部分,該組件正在代號為 Kronk 的 Fuchsia 項(xiàng)目框架內(nèi)進(jìn)一步開發(fā)
注意:Kronk 是迄今為止唯一一個不是作為開源項(xiàng)目開發(fā)的 Fuchsia OS 組件。
4)Topaz
Topaz 是 Fuchsia OS 的系統(tǒng)級別,用戶與OS進(jìn)行交互。這里顯示了下面級別定義的組件的用戶界面: 帶主屏幕的圖形用戶界面和模塊的視覺前端。谷歌的跨平臺開源移動應(yīng)用程序框架 Flutter 也集成在這個系統(tǒng)級別。因此,我們可以假定,F(xiàn)uchsia OS 用戶將來也能夠運(yùn)行和使用其他系統(tǒng)的應(yīng)用程序——比如 Android 或 iOS 應(yīng)用程序。
Fuchsia OS的四個系統(tǒng)級別: Zircon, Garnet, Peridot, Topaz
Fuchsia OS 的優(yōu)缺點(diǎn)一目了然
按照模塊化的方法,F(xiàn)uchsia OS 的開發(fā)人員將系統(tǒng)體系結(jié)構(gòu)劃分為具有特殊任務(wù)的獨(dú)立區(qū)域。這不僅提高了代碼的可讀性,而且影響了OS的適應(yīng)性和更新。除此之外,谷歌還解決了 Android 長期以來一直難以解決的升級問題。
安卓生態(tài)系統(tǒng)正在努力解決更新問題。看看官方的發(fā)行指示板就會發(fā)現(xiàn): 新版本的OS正在緩慢擴(kuò)展。這是一個競爭對手沒有面對的問題。雖然蘋果的硬件和軟件來自同一個來源,并且可以直接適應(yīng),但是每次 Android 升級必須首先由不同的硬件制造商來實(shí)現(xiàn)。
此外,模塊化的系統(tǒng)架構(gòu)滿足了谷歌銷售合作伙伴的需求,他們希望根據(jù)自己的想法改進(jìn)或擴(kuò)展Fuchsia OS。
硬件制造商有可能在不影響其他級別功能的情況下,用自己的產(chǎn)品交換OS的各個級別。例如,三星可以用自行開發(fā)的 touchwiz 風(fēng)格的用戶界面取代 Topaz。亞馬遜可以放棄Peridot和谷歌語言助手,而是為 Fuchsia OS 裝備一個基于 aws 的應(yīng)用程序模塊,包括 Alexa。
在這兩種情況下,設(shè)備制造商都可以提供個性化版本的Fuchsia OS,而不會影響Garnet和Zircon的特性,也不會影響這些層的官方更新周期。
優(yōu)點(diǎn):Fuchsia OS 的模塊化系統(tǒng)架構(gòu)使得谷歌能夠比 Android 更快地推出安全更新;由于模塊化設(shè)計(jì),硬件制造商有可能用自己的模塊替換Fuchsia OS的單個系統(tǒng)級別,而不影響其他級別的功能
缺點(diǎn):谷歌使Ledger成為Fuchsia OS的核心組件。Ledger 控制跨多個設(shè)備的應(yīng)用程序同步,將系統(tǒng)緊密地綁定到云上。
發(fā)展?fàn)顩r
Fuchsia的OS正在慢慢形成,但還遠(yuǎn)遠(yuǎn)沒有為市場做好準(zhǔn)備。即使是官方的發(fā)布日期也沒有被谷歌公布。據(jù)媒體報(bào)道,第一批硬件測試已經(jīng)開始。作為第一個測試 Fuchsia OS 的設(shè)備制造商,華為已經(jīng)在 honorplay 上成功啟動了新的OS。這款智能手機(jī)配備了華為麒麟970芯片,該芯片也用于該制造商的其他設(shè)備,如 Mate 10、 Mate 20和 Mate 20 Pro。
Fuchsia OS 演示
Fuchsia OS 可以編譯成 APK (Android 軟件包) ,早在開發(fā)階段就安裝在 Android 智能手機(jī)和平板電腦上。Mgoulao.github.io 的 Manuel Goul?o 的 Fuchsia OS 演示版本展示了它的樣子。
如果你在瀏覽器中訪問 Fuchsia OS 演示,你會看到一個網(wǎng)站,顯示OS的啟動屏幕。這將向用戶提供背景圖像和當(dāng)前時間。此外,還有三個按鈕可用: 打開 Wi-Fi 設(shè)置的按鈕、注冊用戶的登錄按鈕和來賓登錄。
這個演示只允許你以客人身份注冊。
注冊用戶可以訪問Fuchsia OS的主屏幕,在一個頁面上顯示所有信息。
主屏幕上最突出的元素是屏幕中央的一個窗口,其中包含谷歌搜索欄、谷歌語言向?qū)Ш桶惭b在設(shè)備上的應(yīng)用程序。
如果你啟動一個應(yīng)用程序(它只能讓演示作為一個虛擬應(yīng)用程序可用) ,你會看到谷歌選擇了一個基于窗口的用戶界面。
單擊主屏幕中間的用戶圖像會打開一個帶有常用設(shè)置的菜單。
參考資料:
https://arstechnica.com/gadgets/2020/12/googles-secretive-fuchsia-os-is-open-for-contributions/
https://www.ionos.com/digitalguide/server/tools/fuchsia-os/
https://www.pocket-lint.com/laptops/news/google/138518-google-fuchsia-os-what-s-the-story-so-far
評論