Updatable

可更新

Fuchsia 以包(package)的形式分发软件,它们是组件、相关文件和依赖的封闭套装(bundle)。Fuchsia 包为独立升级甚至是短期递交而设计,这就意味着它们能够按需进出设备,并且软件始终是最新的,如同网页一样。

Fuchsia 旨在通过二进制稳定的接口提供驱动。在未来,为 Fuchsia 的某一版本编译的驱动将在 Fuchsia 的后续版本中继续运作,而无需修改,哪怕是重新编译。这一方案意味着 Fuchsia 设备将能够在保留它们已有驱动的情况下无缝升级至新版本 Fuchsia。

Fuchsia 上的几乎所有软件都是组件

组件框架(component framework)使得当新软件创建时更新系统更加容易

内核拥有最小化的职责,几乎其他所有事项都归于用户空间组件中。组件像网络一样通过 URL 辨识,能够进行解析、下载、按需执行。它们通过相同机制管理,并协同工作。组件的封闭包装使得软件更加便携。

软件是可交换和重复使用的

Fuchsia 接口定义语言(Fuchsia Interface Definition Language,FIDL)启用了组件间的松散耦合(loose coupling)

组件按 FIDL 协议的定义交换功能。软件在运行时通过协议组合,而不是通过库的静态组合。Fuchsia 没有系统库,即使是 C 标准库(libc)也是以依赖方式表示的,仅在软件需要的时候传递。组件可以与另一实现进行互换,只要它们表达了相同的 FIDL 协议。

按需向所有产品推送更新和安全性补丁

Fuchsia 包 是软件分发的单位

一切软件都是以包的形式交付的,可以独立更新、按需传递,就像网络一样。这使得脆弱性补丁能够立刻推送至所有 Fuchsia 产品,无需单独的产品协调。

路线图所列

这一部分涵盖了 Fuchsia 路线图中的特性。

更新系统而不修改驱动

驱动和系统服务设计为用户空间组件,能够独立于核心操作系统进行更新

我们正在设计系统,以使得 Fuchsia 产品能够不必修改或重新编译驱动而接收系统更新。驱动、系统服务和终端用户应用将会通过相同机制独立更新,从而减少维护负担。设备所有者可以接收 Fuchsia 更新而不必更新驱动。