Google 发布 Fuchsia OS F10

Fuchsia OS 是由 Google 开发的一款全新操作系统,旨在取代 Android 和 chromeOS。Fuchsia OS 使用 Google 自己开发的 Zircon 内核,而不是基于 Linux 内核。

Fuchsia OS 使用 Flutter 作为其主要的应用程序开发框架,这使得应用程序可以在不同类型的设备上无缝运行。该操作系统采用了 Material 设计语言,拥有现代化的用户界面和丰富的动画效果。

Fuchsia OS 目前还处于开发阶段,只能在一些特定的设备(如 Google Nest Hub)上运行。

近日 Google 发布了 Fuchsia F10 版本,该版本实施了以下变更:

组件框架

除了 Opal、Kronk、cast_runnerweb_instance 之外,大多数组件现在都以 v2 的形式运行。

开发者

Bazel

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

  • 在 Fuchsia 平台之外定义的 FIDL 库不得以 Fuchsia 开头。
  • fuchsia_package.deps 应更新为 fuchsia_package.componentsfuchsia_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:ipckernel:syscall 等。
  • 添加了使用 C++ 输出 set, map, unordered_setunordered_map 的功能。
  • 添加了新设置 source-map,以便更灵活地查找源文件。
  • 改进了连接错误的显示方式。
  • 引入了同步界面;短命令会阻塞输入。
  • ffx product-bundle get, 添加了 -force-repo 选项,该选项将覆盖软件包代码库,而不是拒绝由于之前存在的代码库。
  • 增加了跟踪日志中的调试输出。
  • 不完全下载:在下载完成之前使用临时目录,从而避免部分下载问题。

诊断

  • 归档不再提供生命周期事件作为数据源,仅提供“检查”和“日志”选项。我们还对归档进行了重构,以使用全新的事件流功能注入数据。
  • 已实现 RFC-171,现在可确保所有组件都会获得 LogSink,从而改善开发者体验。
  • 改进了分类解析器和一些语言改进,例如 _-separated numbers, Any, All
  • 已重构采样器,使其不发射空的直方图桶,从而减少 Cobalt 的负载。
  • ffx inspect 增添了新功能,例如:ffx inspect list-filesiquery 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

猜你喜欢

转载自www.oschina.net/news/237335/fuchsia-os-f-10-released