Fuchsia 操作系统的四层结构设计

h4cd
 h4cd
发布于 2018年11月29日
收藏 38

最近很多朋友很关注 Fuchsia 操作系统,也有很多朋友关心它的开发,今天我们就来讲讲它的结构,在描述 Fuchsia OS的结构的时候,谷歌使用了“层蛋糕”的比喻,原文是 Layer Cake。Fuchsia OS是整个项目的名称和成品的名称,但在其下它被分成4个不同的层次,如下图所示:

第一层:也是最底下一层,是构建 Fuchsia OS 的基石,Zircon 内核,去年的新闻是叫 Magenta,但是后来改为了 Zircon 这个名字,这是一个由Google全新设计的新内核,主要处理硬件访问和软件之间的通信。

对于不太了解内核作用的同学简而言之,Zircon之于Fuchsia,恰如Linux之余于Android。Linux内核驱动了多个操作系统,很多操作系统构建在它之上,比如 Ubuntu、Android、Manjaro、ArchLinux、Debian、Red Hat、SUSE 甚至 Chrome OS ,所以我们也可以大胆预测,如果未来Fuchsia OS 发展良好, Zircon 内核也被证明好用,那么很有可能有更多的操作系统采用这一新内核。

第二层:也是直接构建在 Zircon 上的一层名叫 Garnet。 Garnet 包含各种操作系统所需的各种底层功能,包括硬件的驱动程序(网络,图形等)和软件安装。这一层最激动人心的事情是 Escher(图形渲染器),Amber(Fuchsia 的更新程序)和Xi Core,它是Xi文本和代码编辑器的底层引擎(今年早些时候已经发布了)。

第三层:Peridot 是接下来的这一层,主要处理Fuchsia的模块化应用程序设计, Peridot的另外两个主要组件直接用于模块。 Ledger 可以跨设备保存您在应用/模块中的位置,并同步到您的Google帐户。Maxwell 是一个更复杂的主题,需要更多进一步的深入研究,但是 Maxwell 极有可能是让 Fuchsia 充分施展魔力的点睛之笔,可以提前透露的是,Maxwell 的厉害之处包括 Kronk,也是大家熟知的 Google Assistant。

第四层:Topaz,是这个 Layer Cake 蛋糕的顶层,也是对开发者和用户直接影响最大的一层。Topaz 提供 Flutter 支持,而有了Flutter 的支持,各种华丽的应用程序,可以帮助充实地提供日常使用的功能齐全的应用程序。比如,现在最令人印象深刻的当然是 Armadillo UI,它是 Fuchsia 主要用户界面和主屏幕。

可以做一个类比,Topaz 这一层在 Android 中可以找到一个对照,这将是你的必备应用程序,如联系人,音乐,文件管理器和文本编辑器 Xi(Topaz中的可视前端连接到Garnet的后端)。即使没有你需要的东西,你也可以简单方便地安装。

从表面上看,Fuchsia OS 的层次设计似乎更适合团队组织。它还有助于将代码划分成不同的更易于理解和开发的部分。当然,还有比这更重要的原因,硬件供应商也可以拥有自己可以掌控的层次结构。这意味着公司将能够用他们自己的修改版本来替换四个层中的一个(或多个)。

大多数手机制造商会定制Android用户体验,以便从竞争中脱颖而出,而不是使用 Google 的默认界面设计。自定义设计的能力进一步表明 Google 正在借鉴从 Android 中得到的经验。Fuchsia 和 Android 使供应商更容易使用他们的自定义设置和UI设计,而不影响系统的其余部分。例如,三星可以用 TouchWiz 主题版本取代 Topaz 层,HTC、华硕和其他手机制造也可以。

此外,Android 团队无法预料像 Amazon 这样的公司会大量修改 Android 来用作 Kindle Fire 设备的操作系统。使用 Fuchsia OS 的话,同样的事情变得更简单,比如用 Amazon Web Services 和 Alexa 替换 Peridot 的Google Cloud 和 Google 智能助理,当然,用 亚马逊的设计语言取代 Topaz ,但是不影响获得 Fuchsia 的 Zircon 和 Garnet 的更新。

总而言之,从 Fuchsia 的设计可以看出,Google 正在铭记 其 Android 团队学到的很多宝贵教训与经验。与 Android 的撕裂的生态系统相比,将 Fuchsia OS 分成仅向上构建的层次结构应有助于确保可更新性和统一性。当然,Google 仍然可以改变这种设计,只有时间才能证明 Fuchsia OS 的计划是否会取得成功。

来源:Fuchsia OS 中文社区

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Fuchsia 操作系统的四层结构设计
加载中

精彩评论

海上添翼
海上添翼
当出新语言的时候程序说学不动了,难道运维就脱离苦海了吗?
梅开源
梅开源
谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的
寂寞的大师
寂寞的大师

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服

引用来自“论韭菜的100种吃法”的评论

golang 也半死不活啊

引用来自“jump--jump”的评论

我觉得有一定受众人群,解决一些人的痛点就算成功了啊
golang半死不活?
张亦俊
张亦俊
Xi Core……真和谐呀

最新评论(15

游侠小陆

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服

引用来自“论韭菜的100种吃法”的评论

golang 也半死不活啊
现在很多很多都是go开发,不过都是服务端的,前端基本看不到所以你觉得不火
赵仁杰
赵仁杰

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的
chrome表示不服
dwl301
dwl301
谁能给个git clone后的tar包?按文档就没能正常clone下来过。。。
寂寞的大师
寂寞的大师

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服

引用来自“论韭菜的100种吃法”的评论

golang 也半死不活啊

引用来自“jump--jump”的评论

我觉得有一定受众人群,解决一些人的痛点就算成功了啊
golang半死不活?
o
oscsuperman

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服
tensorflow表示不服
jump--jump
jump--jump

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服

引用来自“论韭菜的100种吃法”的评论

golang 也半死不活啊
我觉得有一定受众人群,解决一些人的痛点就算成功了啊
韭菜根
韭菜根

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的

引用来自“张金富”的评论

用golang的表示不服
golang 也半死不活啊
张金富
张金富

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的
用golang的表示不服
张亦俊
张亦俊
Xi Core……真和谐呀
鞋底两万里
鞋底两万里

引用来自“梅开源”的评论

谷歌除了搜索基本做啥死啥,安卓是其他家齐心协力扶起来的
@梅开源 谷歌广告表示不服
返回顶部
顶部