Fuchsia OS 已經開始向 Nest Hub 設備推出

谷歌負責建置系統、編譯器和開發工具的團隊負責人Petr Hosek近日發布了首款搭載 Fuchsia 作業系統的裝置。這款基於 Fuchsia 的韌體將作為 Google Preview 計畫成員的實驗性更新,開始推送至 Nest Hub 智慧相框。

據悉,如果在測試實施過程中未出現任何意外問題,基於 Fuchsia 的韌體將應用於其他 Nest Hub 用戶設備,用戶不會察覺到任何差異,因為基於 Flutter 框架構建的介面將保持不變。只有底層作業系統元件會改變。

此前,自2018年以來發布的谷歌Nest Hub設備,結合了相框、多媒體系統和智能家居控制界面的功能,使用了基於Cast shell的固件和Linux內核。

需要提醒的是,自 2016 年以來,Google一直在「Fuchsia 專案」框架下開發一款通用作業系統,該系統可在從工作站、智慧型手機到嵌入式和消費級技術的任何類型的裝置上運行。這項開發工作吸收了 Android 平台開發過程中累積的經驗,並著重解決其在可擴展性和安全性方面的不足。

該系統基於 Zircon 微內核,而 Zircon 微內核本身又基於 LK 專案的發展成果,並擴展用於包括智慧型手機和個人電腦在內的各種裝置。 Zircon為 LK 新增了對共享進程和程式庫、使用者層級管理、物件處理以及基於能力的安全模型的支援。驅動程式以動態使用者空間庫的形式實現,由 devhost 進程加載,並由裝置管理員 (devmg) 管理。

Fuchsia使用 Flutter 框架,用 Dart 語言開發了自己的圖形使用者介面。該專案還開發了 Peridot UI 框架、Fargo 套件管理器、libc 標準庫、Escher 渲染系統、Magma Vulkan 驅動程式、Scenic Composer、MinFS、MemFS、ThinFS(Go 中的 FAT)和 Blobfs 檔案系統,以及 FVM 分區。它還支援創建 iOS 和 Android 行動應用程式。渲染由 Escher 元件處理,該元件透過 Vulkan 圖形 API 運行。

使用者環境分為兩個元件:Armadillo 和 Armadillo User Shell。 Armadillo是一個可移植的應用程序,可以在任何兼容 Flutter 的平台上運行,包括 Android 和 iOS(我們已準備了一個 Android 演示版本,以 APK 文件的形式提供,方便您在不安裝 Fuchsia 的情況下測試界面)。 Armadillo User Shell 是 Armadillo 應用程式之上的一個元件,它提供了一些工具,用於透過 FIDL 介面與 Fuchsia 服務進行交互,並在 Fuchsia 作業系統元件之上組織使用者環境。

對於應用程序開發,提供了對 C/C++、Dart 的支持,在系統組件、網絡堆棧:Ve 和 Python 語言構建系統中也允許使用 Rust。

引導過程使用系統管理器,其中包括 appmgr 創建初始軟件環境,sysmgr 創建引導環境,basemgr 配置用戶環境並組織登錄。

為確保安全性,我們提出了一個先進的沙箱隔離系統。在該系統中,新建立的進程無法存取核心物件、分配記憶體或執行程式碼。我們採用命名空間系統來存取資源,並據此確定可用權限。該平台提供了一個用於創建組件的框架。元件是在沙箱中執行的程序,可以透過進程間通訊(IPC)與其他元件進行互動。


在 Google 中將其新增為首選來源