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