Google將 Chrome 移植到 Fuchsia OS

Google 正在努力為 Fuchsia OS 提供完整的 Chrome 瀏覽器版本。 Fuchsia 已經提供了一個基於Chromium 代碼庫的瀏覽器引擎,用於運行獨立的Web 應用程序,但該瀏覽器作為單獨的成熟產品不適用於Fuchsia,並且該平臺本身主要是為物聯網和消費設備(例如Nest Hub)開發的。 最近,情況發生了變化,Fuchsia 功能的開發已經開始,旨在將其用作桌面平台。

這包括開發一系列更改,使向 Fuchsia 提供成熟的 Chrome 成為可能。 Chrome for Fuchsia 的初始版本計劃為 94 月 21 日發布的 Chrome XNUMX 做好準備。 移植工作正在逐步進行 - 首先,可以建立一個精簡版本,其中一些功能被替換為存根,隨著移植的進行,存根將被替換為考慮到具體情況的程式碼的工作實現紫紅色的。 例如,正在對系統托盤、檔案載入、Click To Call功能、可移動媒體、同步、使用者目錄、PWA應用程式、顯示有關記憶體和CPU負載的資訊以及從其他瀏覽器匯入設定進行Fuchsia適配。

讓我們提醒您,考慮到 Android 平台缺乏可擴充性和安全性,Fuchsia OS 是 Google 自 2016 年以來開發的。 該系統基於 Zircon 微內核,基於 LK 專案的開發,可擴展用於各種類型的設備,包括智慧型手機和個人電腦。 Zircon 擴展了 LK,支援進程和共享庫、使用者層級、物件處理系統和基於功能的安全模型。 驅動程式被實作為運行在使用者空間中的動態庫,由 devhost 進程載入並由裝置管理員(devmg,裝置管理員)管理。

Fuchsia 有自己的圖形介面,使用 Flutter 框架以 Dart 編寫。 該專案還開發了 Peridot 使用者介面框架、Fargo 套件管理器、libc 標準庫、Escher 渲染系統、Magma Vulkan 驅動程式、Scenic 複合管理器、MinFS、MemFS、ThinFS(Go 語言中的 FAT)和 Blobfs 檔案系統,以及管理器FVM 分割區。 對於應用程式開發,提供了對C/C++和Dart語言的支援;在系統元件、Go網路堆疊和Python語言彙編系統中也允許使用Rust。

Google將 Chrome 移植到 Fuchsia OS

啟動過程使用系統管理器,包括appmgr建立初始軟體環境,sysmgr建立啟動環境,basemgr配置使用者環境和組織登入。 為了確保安全性,提出了一種先進的沙箱隔離系統,其中新進程無權訪問內核對象,無法分配內存,也無法運行代碼,並使用命名空間系統來訪問資源,命名空間系統決定了可用權限。 該平台提供了一個用於創建組件的框架,這些組件是在自己的沙箱中運行的程序,並且可以透過IPC與其他組件互動。

來源: opennet.ru

添加評論