蓝牙
主要: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
次要:miguelfrde@google.com
用于发布和查询系统上组件的诊断数据的一组 API。这包括能够流式传输日志、查看和发布检查数据,以及观察生命周期事件。
示例:
驱动程序
主要:cja@google.com
次要:jocelyndang@google.com
用于与各种驱动程序(与硬件或其他驱动程序交互)通信的一组 API。通过使用 devfs 路径(例如 /dev/class/<protocol the
device exposes>/<incremental number>
)打开设备,可以访问这些 API。
驱动程序公开的大多数 API 都位于 fuchsia.hardware.*
命名空间中。
其他 API 分布在驱动程序所处理的相应领域(例如蓝牙、WLAN、图形、HCI)。虽然这些 API 不位于 fuchsia.hardware.*
命名空间下,但它们可能会与硬件或与硬件交互的其他驱动程序进行交互。
Driver SDK
主要:jocelyndang@google.com
次要:surajmalhotra@google.com
用于通过驱动程序管理器与设备互动的 API 集。开发者可以使用此权限检索设备的相关信息或更改设备的当前状态。
示例:
体验
主要:chaselatta@google.com
次要:ianloic@google.com
用于创建用户体验的一组 API。其中包括一组 API,可促进多个产品中常见的用户互动。
示例:
FIDL
主要:ianloic@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。
示例:- fuchsia.starnix.container 用于控制未修改的 Linux 二进制文件的容器的协议。
图形
主要: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
次要:ypomortsev@google.com
用于捕获、处理和渲染音频和视频流的一组 API。 媒体 API 还涵盖了音量控制和媒体会话管理等相关问题。
示例:- fuchsia.camera
- fuchsia.media
- fuchsia.media.audio
- fuchsia.media.drm
- fuchsia.media.sessions2
- fuchsia.media.sounds
- fuchsia.mediacodec
指标
主要:frousseau@google.com
允许客户端记录与指标关联的事件或提交文件崩溃报告的一组 API。这些事件和报告是在设备外收集的,之后可以在许多设备上进行分析。
示例:
Netstack
主要:brunodalbo@google.com
次要:peterjohnston@google.com
一组可在 Fuchsia 中实现联网功能的 API。涵盖了网络的数据平面、控制平面和管理平面的驱动 API,范围从与设备驱动程序的合约到辅助应用级协议服务。
示例:- fuchsia.hardware.network 与设备驱动程序的数据平面合约。
- fuchsia.posix.socket POSIX 套接字 API。
- fuchsia.net.interfaces 接口管理平面。
- fuchsia.net.name 应用级名称解析。
电源
主要:mbrunson@google.com
次要:prashanthsw@google.com
用于集中式电源和散热管理的 API 集,包括系统电源状态控制、电源依赖关系管理和散热限制。还包括电源输送方面,例如电池管理。
自然地与其他 API 领域(如电源/散热相关驱动程序和特定于子系统的电源管理 API)重叠。重叠 API 的所有权会尽可能推迟到其他 API 领域,而 Power 领域则以咨询角色运作。
示例:
产品组装
主要:aaronwood@google.com
次要:awolter@google.com
一组 API,用于将来自各种来源的软件组合成可刷写、可更新的产品映像。产品组装涉及:
- 组装时产品/平台接口,可让产品所有者指定如何为特定产品配置平台。
- 有关如何向组装工具指定组装输入工件的合同,这些工具会为给定的产品 build 组装正确的工件集。
安全
主要:
用于直接与安全功能(例如加密密钥管理)或工具(例如模糊测试器)互动的 API 集。
示例:
软件交付
主要:galbanum@google.com
次要:etryzelaar@google.com
软件交付团队负责管理 Fuchsia 设备的软件打包和更新。
存储
主要:csuter@google.com
次要:jfsulliv@google.com
Storage 是以下 API 的组合:
-
介绍了 Fuchsia 上服务发现、文件系统访问和功能共享的常用方式。
它们主要用于客户端与文件系统的交互,其中客户端可以是系统中需要访问文件系统中文件/目录的任何组件/进程。
-
用于查找块设备、启动文件系统进程以服务这些块设备,以及为 Fuchsia 的其余部分提供这些文件系统的句柄。
-
文件系统专用 API,用于执行特定于文件系统的操作。
示例:
- fuchsia.fs,负责为文件系统提供管理功能。
测试
主要:anmittal@google.com
次要:crjohns@google.com
负责执行、观察和返回在设备上执行的测试结果的一组 API。这些 API 抽象化了不同的测试框架和工具,以提供用于在 Fuchsia 上测试用例的 FIDL 接口。
示例:
工具链
主要:mcgrathr@google.com
次要:phosek@google.com
没有说明。
界面
主要:emircan@google.com
次要:carolineliu@google.com
协调用户与产品交互的一组 API,包括输入(例如人机交互 (HCI) 设备驱动程序、语义理解等)、视图系统(例如视觉区域 [“视图”] 及其生命周期)、应用模型和无障碍功能。
此区域与其他用户体验相关 API 区域(例如图形、媒体)密切相关。如果两个 API 区域重叠,则所有权归更具体的 API 区域所有。
示例:
虚拟化
主要:
虚拟化是以下各项的组合:
- 由 Zircon 内核实现的 hypervisor,为虚拟机提供执行环境。具体而言,它提供地址空间隔离、内存或 IO 端口地址访问陷阱,以及虚拟 CPU 管理。
- 虚拟机管理器,它使用管理程序来提供完整的虚拟机,以便操作系统在其中运行。这包括硬件的模拟,以及操作系统本身的加载和执行。它在虚拟机内运行的客户操作系统与宿主操作系统内的服务(例如存储、网络和图形)之间架起了一座桥梁。
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 定义了 Web 标准网址类型和限制。
-
fuchsia.web
允许创建组件实例来托管使用标准 Web 技术(HTML、JavaScript 等)创建的内容。这些库的使用方式与进程内 Web 渲染库类似,但可提供更强的与调用应用的隔离。
Chromium 项目提供的实现包含在 Fuchsia 代码库中,以预构建软件包的形式提供。
WLAN
主要:silberst@google.com
次要:jamuraa@google.com
没有说明。