您在 Fuchsia 简介中了解到,Zircon 提供了内核对象类型,以支持 Fuchsia 上的进程间通信 (IPC)。这些对象类型定义了进程用于交换数据的特定机制。在此框架中,Zircon 通道提供了一种基于消息的异步传输,能够传递数据和一组句柄以授予访问权限。
Zircon 通道是 Fuchsia 接口定义语言 (FIDL) 所描述的高级别互动的依据,FIDL 是一种用于描述 Fuchsia 程序使用的 IPC 协议的语言。FIDL 通过强制执行一组在通道上运行的语义行为和持久性格式,让各种客户端和服务器能够互操作。
程序通过 FIDL 编译器生成的特定于语言的绑定和库与 FIDL 协议交互,这些绑定和库可作为 Zircon IPC 复杂性的抽象层。这样便可引入熟悉的编程惯用法,例如结构化类型和同步执行。编译器会为每个受支持的语言生成绑定,因此提供方无需维护客户端库。
前提条件
学习内容
- Fuchsia 接口定义语言 (FIDL)
- 生成 FIDL 绑定
- 在组件中公开和使用 FIDL
- 测试和调试 FIDL 接口
所需条件
- 一台搭载 Linux 的开发机器
- Fuchsia 模拟器 (FEMU)
- 使用
fx set workstation_eng.x64
配置的成功 Fuchsia build