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