领域

蓝牙

主要:jamuraa@google.com
次要:silberst@google.com

用于通过蓝牙进行管理和通信的 API 集。这包括连接对等设备、搜索设备、通告本地设备以及通过蓝牙配置文件进行通信或互动。通常,连接后,蓝牙功能将通过其他部分中的 API 公开,而此 API 仅公开用于连接、管理发现和配对以及低功耗协议(通常针对每个设备进行自定义)的接口。

通常,特定的蓝牙配置文件还会提供一个 API,供系统服务用于状态和控制。

示例:

组件框架

主要:cgonyeo@google.com
次要:quiche@google.com

用于定义组件、与组件交互以及与组件框架集成的一组 API。这些是用于与组件框架交互的低级 API,在某些情况下,开发者可以直接使用它们,但它们也可用于构建更高级别的 API,例如会话框架。

示例:

开发者

主要:wilkinsonclay@google.com
次要:chaselatta@google.com

开发者工具界面,例如命令行工具准则。影响主机环境中的开发者体验(例如调试或开发套件)的 API。

诊断

主要:crjohns@google.com

用于发布和查询系统组件诊断数据的一组 API。这包括流式传输日志、查看和发布检查数据以及观察生命周期事件。

示例:

Driver SDK

主要:jocelyndang@google.com
次要:surajmalhotra@google.com

用于通过驱动程序管理器与设备交互的一组 API。开发者可以使用此功能检索设备的相关信息或更改其当前状态。

示例:

驱动程序

主要:cja@google.com
次要:puneetha@google.com

一组 API,用于与各种驱动程序通信,这些驱动程序会与硬件或其他驱动程序交互。您可以通过使用 devfs 路径(例如 /dev/class/<protocol the device exposes>/<incremental number>)打开设备来访问这些 API。

驱动程序公开的大多数 API 都位于 fuchsia.hardware.* 命名空间中。

其他 API 则分布在驱动程序处理的相应区域(例如蓝牙、WLAN、图形、HCI)下。虽然这些 API 不在 fuchsia.hardware.* 命名空间下,但它们可能会与硬件或与硬件交互的其他驱动程序进行交互。

示例:

体验

主要:chaselatta@google.com
次要:ianloic@google.com

用于打造用户体验的一组 API。其中包括一组 API,可促进多个产品通用的用户互动。

示例:

FIDL

主要:ianloic@google.com
次要:hjfreyer@google.com

由于大多数 API 都是用 FIDL 表达的,因此 FIDL 领域是跨领域的,其目标是支持所有其他领域,并利用他们的经验来指导 FIDL 语言和生态系统的未来方向。

固件

主要联系人:dpursell@google.com

固件启动 Zircon 所需的一小部分库,例如 ZBI 映像处理、A/B/R 启动元数据、启动时验证。 从本质上讲,这定义了引导加载程序与 Zircon 通信的协定。

由于固件在 Fuchsia 之外运行,因此这通常不适用于 Fuchsia 最终开发者,而是用于在新平台上启动 Fuchsia。这些库共同构成“固件 SDK”,然后移植到特定平台的固件代码库。

示例:

外部 ABI 兼容性

主要:lindkvist@google.com
次要:qsr@google.com

用于运行针对其他操作系统编译的程序并与之交互的一组 API。

目前,这涵盖了 Starnix(Linux 二进制文件兼容性)API。

示例:

图形

主要联系人:costan@google.com
次要联系人:emircan@google.com

用于在系统上传输和合成图片的一组 API。 它包含用于与图形硬件通信的接口,以及 Scenic 与系统其余部分之间的场景图通信(不包括视图等更高级别的概念,请参阅视图系统区域)。

示例:

身份

主要:

用于管理用户账号、身份验证和身份信息的一组 API。

示例:

内核

主要联系人:mcgrathr@google.com
次要联系人:rashaeqbal@google.com

Fuchsia 内核,其 API Surface 为:

  • 系统调用集以及与这些系统调用关联的类型和常量集。这些 API 在 //zircon/vdso/ 和 //zircon/system/public/zircon/ 中定义。
  • 与引导加载程序的接口,其中最重要的是 ZBI 。
  • BOOTFS 映像及其内部二进制文件的 ABI。

媒体

主要:dalesat@google.com

用于捕获、处理和渲染音频和视频流的一组 API。 媒体 API 还涵盖音量控制和媒体会话管理等相邻问题。

示例:

指标

主要联系人:frousseau@google.com

一组 API,可让客户端记录与指标或文件崩溃报告关联的事件。这些事件和报告是在设备外收集的,稍后可以跨多台设备进行分析。

示例:

Netstack

主要:brunodalbo@google.com
次要:martinjeffrey@google.com

在 Fuchsia 中启用网络的一组 API。涵盖驱动网络的数据、控制和管理平面的 API,从与设备驱动程序的协定到辅助应用级协议服务。

示例:

电源

主要:mbrunson@google.com
次要:prashanthsw@google.com

一组用于集中式电源和热管理的 API,包括系统电源状态控制、电源依赖项管理和热节流。还包括电源管理等供电方面。

自然会与电源/热量相关驱动程序和子系统专用电源管理 API 上的其他 API 区域重叠。重叠 API 的所有权会尽可能移交给其他 API 领域,而电源领域则扮演咨询角色。

示例:

产品组装

主要联系人:aaronwood@google.com
次要联系人:diserovich@google.com

一组 API,用于将来自各种来源的软件组合成可刷写、可更新的产品映像。产品组装涉及:

  • 组装时产品/平台接口,可让产品所有者指定应如何针对特定产品配置平台。
  • 关于如何为组装工具指定组装输入工件的协定,这些工具会为给定的产品 build 组装正确的工件集。

安全

主要:

用于直接与安全功能(例如加密密钥管理)或工具(例如模糊测试工具)交互的一组 API。

示例:

软件交付

主要:galbanum@google.com
次要:etryzelaar@google.com

软件交付团队负责管理 Fuchsia 设备的软件打包和更新。

存储

主要联系人:csuter@google.com
次要联系人:jfsulliv@google.com

Storage 是以下 API 的组合:

  • fuchsia.io

    介绍了 Fuchsia 上服务发现、文件系统访问和功能共享的常见方式。

    它们主要用于客户端与文件系统的交互,其中客户端可以是系统中需要访问文件系统中的文件/目录的任何组件/进程。

  • fuchsia.fshost

    用于查找块存储设备、启动文件系统进程来为这些块存储设备提供服务,以及为 Fuchsia 的其余部分提供这些文件系统的句柄。

  • 文件系统专用 API,用于执行文件系统特有的操作。

    示例:

  • fuchsia.fs,负责为文件系统提供管理功能。

测试

主要:crjohns@google.com

负责执行、观察和返回在设备上执行的测试结果的一组 API。这些 API 抽象了不同的测试框架和工具,以便为 Fuchsia 上的测试用例提供 FIDL 接口。

示例:

工具链

主要:mcgrathr@google.com
次要:phosek@google.com

尚无说明。

界面

主要联系人:emircan@google.com
次要联系人:carolineliu@google.com

一组用于协调用户与产品互动的 API,包括输入(例如人机交互 [HCI] 设备驱动程序、语义理解等)、视图系统(例如视觉区域 [“视图”] 及其生命周期)、应用模型和无障碍功能。

此领域与其他与用户体验相关的 API 领域(例如图形、媒体)密切相关。如果存在重叠,则更具体的 API 区域具有所有权。

示例:

虚拟化

主要:

虚拟化是以下各项的组合:

  • Hypervisor,由 Zircon 内核实现,为虚拟机提供执行环境。具体而言,它提供地址空间隔离、对内存或 IO 端口地址的访问捕获以及虚拟 CPU 管理。
  • 虚拟机管理器,它使用 Hypervisor 为操作系统提供一个完整的虚拟机,以便在其中运行。这包括硬件模拟以及操作系统本身的加载和执行。它在虚拟机中运行的客机操作系统与主机操作系统中的服务(例如存储、网络和图形)之间提供桥梁。

Web

主要:wez@google.com
次要:ianloic@google.com

Web 包含用于处理标准 Web 协议(例如 HTTP、HTTP2)、内容类型(例如 HTML)和应用运行时技术(例如 JavaScript、WebAssembly)的 API。功能接口(例如 fuchsia.web 、 fuchsia.net.http )通常会取代原本需要作为库捆绑到每个单独客户端软件包中的功能。

示例:

  • fuchsia.net.http 支持与基于 HTTP 的服务进行基本交互(例如 GET、PUT)。
  • fuchsia.url 定义了网络标准网址类型和限制。
  • fuchsia.web

    允许创建组件实例来托管使用标准 Web 技术(HTML、JavaScript 等)创建的内容。这些库的使用方式与进程内 Web 呈现库类似,但具有与调用应用更强隔离的优势。

    Chromium 项目提供的实现作为预构建软件包包含在 Fuchsia 代码库中。

WLAN

主要联系人:mnck@google.com
次要联系人:silberst@google.com

尚无说明。