天天看點

Google 釋出 Fuchsia OS F10

作者:開源中國OSC

出品|開源中國

Fuchsia OS 是由 Google 開發的一款全新作業系統,旨在取代 Android 和 chromeOS。Fuchsia OS 使用 Google 自己開發的 Zircon 核心,而不是基于 Linux 核心。

Google 釋出 Fuchsia OS F10

Fuchsia OS 使用 Flutter 作為其主要的應用程式開發架構,這使得應用程式可以在不同類型的裝置上無縫運作。該作業系統采用了 Material 設計語言,擁有現代化的使用者界面和豐富的動畫效果。

Fuchsia OS 目前還處于開發階段,隻能在一些特定的裝置(如 Google Nest Hub)上運作。

近日 Google 釋出了 Fuchsia F10 版本,該版本實施了以下變更:

元件架構

除了 Opal、Kronk、cast_runner 和 web_instance 之外,大多數元件現在都以 v2 的形式運作。

開發者

Bazel

Bazel 工作流中做出了以下改進:

  • 在 Fuchsia 平台之外定義的 FIDL 庫不得以 Fuchsia 開頭。
  • fuchsia_package.deps 應更新為 fuchsia_package.components 和 fuchsia_package.tools。
  • 運作和釋出元件會輸出要執行的每一個步驟;使用者不需要對此更新進行任何更改。

FFX

在 ffx 和其他工具中做出了以下更新:

  • 如果您的計算機上已有商品套裝,下載下傳内容将不會重新下載下傳。
  • 清理之前下載下傳的捆綁包的新功能。
  • 改進了下載下傳商品捆綁包的界面。
  • ffx 元件複制插件支援在主機和目标上的元件之間複制檔案。
  • 以更可靠的方式恢複未完成的下載下傳。
  • 個人資料工具:
    • 添加了報告存儲分區使用情況的記憶體用量的選項。
    • 修複了涉及間接 VMO 收費的錯誤計算問題。
    • 外觀美化,包括添加一個選項,用于選擇簡單易懂的尺寸和确切尺寸、對齊輸出和更清晰的說明。
  • 調試工具:
    • 增強了相容性支援,是以使用者看到的版本不一緻問題應該會減少。
    • 解決了 Fuchsia VSCode 擴充程式的 “調試器未連接配接到裝置” 問題。
  • 預設情況下,所有元件測試都受到封閉解析器的限制;在測試元件的軟體包之外的其他軟體包中啟動元件的測試将失敗,除非聲明相應軟體包。請參閱封閉元件分辨率。
    • 更新了 ffx log --severity,以将 警告 和 警告都視為參數。
  • 實驗性質:
    • ffx package build - 建構軟體包。
    • ffx repository publish - 将一個或多個軟體包釋出到代碼庫。
    • ffx repository package list - 列出代碼庫中的所有軟體包。
    • ffx repository package show - 列出軟體包的内容。
  • 引入了實驗性功能:
    • ffx package far - 适用于處理通用 far 指令。
    • ffx package archive - 适用于處理軟體包歸檔。
    • ffx driver list-devices - 用于模糊比對支援。
  • 添加了 ffx driver list-nodes-groups。
  • 添加了 ffx inspect list-files。
    • 從 ffx inspect list-files 中移除了 hub 使用情況,并删除了 ffx inspect show-files。
    • 用于根據檔案名查詢檢查的 API 現在已移至 ffx inspect show --file,并采用相對于元件命名空間的檔案名。
  • 更多 ffx component 插件 (destroy, doctor, explore, start, stop, resolve, reload) 支援對名稱、網址和執行個體 ID 進行部分比對。
  • 為 ffx trace 指定 -categories 時,可使用通配符 `` 來訓示啟用與給定字首比對的所有類别;例如,kernel* 将比對 kernel:ipc、kernel:syscall 等。
  • 添加了使用 C++ 輸出 set, map, unordered_set 和 unordered_map 的功能。
  • 添加了新設定 source-map,以便更靈活地查找源檔案。
  • 改進了連接配接錯誤的顯示方式。
  • 引入了同步界面;短指令會阻塞輸入。
  • 向 ffx product-bundle get, 添加了 -force-repo 選項,該選項将覆寫軟體包代碼庫,而不是拒絕由于之前存在的代碼庫。
  • 增加了跟蹤日志中的調試輸出。
  • 不完全下載下傳:在下載下傳完成之前使用臨時目錄,進而避免部分下載下傳問題。

診斷

  • 歸檔不再提供生命周期事件作為資料源,僅提供 “檢查” 和 “日志” 選項。我們還對歸檔進行了重構,以使用全新的事件流功能注入資料。
  • 已實作 RFC-171,現在可確定所有元件都會獲得 LogSink,進而改善開發者體驗。
  • 改進了分類解析器和一些語言改進,例如 _-separated numbers, Any, All。
  • 已重構采樣器,使其不發射空的直方圖桶,進而減少 Cobalt 的負載。
  • ffx inspect 增添了新功能,例如:ffx inspect list-files、iquery show –file 以及 glob,并且經過改進,不再依賴于 hub。
  • 為 Rust 日志記錄庫修複了幾個錯誤,使其變得更小,進而節省 BlobFS 中的空間。

圖形和媒體

  • 在 Tigerlake 裝置上對 i915 進行了多項穩定性改進。驅動程式預設處于啟用狀态。

核心

  • 進行了更新,需要為 PID 0 發出一個名為 “kernel” 的程序記錄,以恢複與原始 ktrace 導入程式的對等性
  • 能夠預設在本地以及通過 UEFI 啟動模拟器
  • 使用 zx 遷移 zxc 庫
  • ktrace 序列化器模闆需要更新才能支援 val_type 參數,StringRef 需要接受字元串大小參數。
  • 在 C++ 中更改對 Undef __UNUSED 的引用

虛拟化

  • 改進了啟動虛拟機失敗時的錯誤消息。
  • 将 vsh 工具從 C++ 移植到了 Rust。
  • 在 virtio-gpu 中實作了光标指令支援。
  • 添加了初始 vmm_launcher 元件。

更多詳情可檢視:https://fuchsia.dev/whats-new/release-notes/f10

繼續閱讀