谷歌将 Chrome 移植到 Fuchsia OS

Google 正在致力于为 Fuchsia OS 提供完整的 Chrome 浏览器版本。 Fuchsia 已经提供了一个基于 Chromium 代码库的浏览器引擎来运行独立的 Web 应用程序,但该浏览器作为独立产品不适用于 Fuchsia,而且该平台本身主要是为 IoT 和 Nest Hub 等消费设备开发的。 最近,情况发生了变化,旨在将其用作桌面平台的 Fuchsia 功能的开发已经开始。

这包括一系列更改,使得将成熟的 Chrome 移植到 Fuchsia 成为可能。 Chrome for Fuchsia 的初始版本计划为 94 月 21 日发布的 Chrome XNUMX 做好准备。 移植工作是逐步进行的 - 首先,可以构建一个精简版本,其中一些功能被替换为存根,在移植时,存根被替换为考虑到具体情况的代码的工作实现紫红色的。 例如,Fuchsia 系统托盘、文件上传、点击通话、可移动媒体、同步、用户目录、PWA 应用程序、显示有关内存和 CPU 负载的信息以及从其他浏览器导入设置的适配正在进行中。

回想一下,Fuchsia OS 是 Google 自 2016 年以来开发的,考虑到 Android 平台缺乏扩展性和安全性。 该系统基于 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。

谷歌将 Chrome 移植到 Fuchsia OS

启动过程使用系统管理器,其中包括appmgr用于创建初始软件环境,sysmgr用于构建启动环境,basemgr用于设置用户环境并组织登录。 为了保证安全性,提出了一种先进的沙箱隔离系统,其中新进程无权访问内核对象,无法分配内存,也无法运行代码,并使用命名空间系统来访问资源,命名空间系统决定了可用权限。 该平台提供了一个用于创建组件的框架,组件是在沙箱中运行的程序,可以通过 IPC 与其他组件交互。

来源: opennet.ru

添加评论