近日, 谷歌公司终于公布了其 Fuchsia 操作系统迄今为止最为完整的说明文档, 旨在供开发人员以及修复人员闲暇时进行阅读了解, 这份名为Fuchsia is not linux的文档正式揭开 Fuchsia 操作系统的神秘面纱.
Fuchsia 操作系统:
由谷歌公司开发的继 Android 和 Chrome OS 之后的第三个系统, 目前 Android 和 Chrome OS 都是使用 Linux 内核, 但从这份最新发布的说明文档中, 谷歌明确 Fuchsia 并非基于 Linux 内核.
Fuchsia is not linux内容简介
本周发布的Fuchsia is not linux终于不再是一大堆 Git 管理下的开源代码, 而是一份真正面向程序员的 Fuchsia 交互引导指南.
作为一套适用于嵌入式设备的操作系统, Fuchsia 采用微内核架构.Fuchsia is not linux说明文档列出了其内核设计, 软件界面, 用于运行程序, 存储数据以及访问网络 的周边服务与库, 外加用户在屏幕上进行图形绘制的具体方式. 根据这份说明文档判断, 该操作系统的开发工作仍在进行当中.
重点介绍 "Little Kernel 微内核"
这些文档中大量提及 lk, 即 研究人员 Travis Geiselbrecht 开发而成的 Little Kernel 微内核, 他于 2012 年正式加盟谷歌公司, 并自 2015 年以来带领谷歌员工致力于开发 Fuchsia. 他的操作系统设计功力在该项目当中发挥了巨大作用.
Fuchsia 内核 Zircon
Fuchsia 内核被命名为 Zircon, 其基于 lk 并以 C 语言编写而成. 该内核为应用程序提供了 32 位句柄以通过系统调用处理各类对象. 这些对象分别负责管理内存, 与其它运行中的程序交换信息并使用同步原语. 此外, Fuchsia 内核中还包含通过 syscalls 实现对象操作的 C++ 类.
这份内核说明文档中还定义了其它一些概念, 包括作业, 进程以及线程, 信号, 等待规则以及事件等.
接下来值得一提的是 Zircon Core, 其负责处理设备驱动程序, POSIX 兼容输入与输出, 一套 C 运行时外加 ELF 二进制加载. 在此之上的是 Zircon 框架, 其负责运行核心库, 应用程序并提供命名空间与沙箱环境. 目前的这份文档已经完整涵盖存储, 网络与图形等相关内容. 而相关源代码指定 x86-64 与 arm64 作为受支持处理器架构.
不过谷歌公司在Fuchsia is not linux中并没有完成兼容性章节的内容, 其中虽然列出了 "向下兼容性" 一章, 但未提供具体链接. 但已经提到将对所支持的 POSIX 子集作出解释, 且给出了 "web 运行时" 这一模棱两可的标题.
Fuchsia 或淘汰 Android
一旦 Fuchsia 投入使用, 它就能解决安卓最大的问题, 碎片, 此外, Fuchsia 或许还能修复另一个关于安卓系统的恼人的问题, 就是开发人员将会利用 Flutter, 来让他们生产能够在不同的操作系统上运行, 并且适应各种设备的应用, 无论是 iPhone X 的 iOS 11 还是谷歌 Pixel 的 Android P. 谷歌表示, 通过 Flutter, 开发人员能够开发更优质, 性能更高的应用, 还能够更快的部署其应用.
关于 Flutter 和 Fuchsia 的关系, 这是因为, Fuchsia 的用户界面时利用 Flutter SDK 构建, 而 Flutter 能够在安卓系统和 iOS 系统上运行, 因此 Flutter 制作的 iPhone 和安卓应用都可以和 Fuchsia 兼容.
当 Fuchsia 最初于 2016 年面市时, 人们本以为谷歌将其作为一套备用移动操作系统, 以避免因甲骨文长期 Java 诉讼而给 Android 系统造成毁灭性影响, 如果谷歌方面不看好 Android 这款基于 Linux 的操作系统, 拥有 Fuchsia 这样一套备用选项无疑也更为方便.
两周前, 美国法院正式宣布谷歌公司在 Android 开发过程中存在侵犯甲骨文 Java 版权的行为. 法院下令, 要求谷歌方面向数据库巨头交付 90 亿美元的罚款, 谷歌公司尚未就此事是否会影响到 Android 的未来作出明确表态. 即使这份说明文档表明谷歌公司对 Fuchsia 的重视程度, 也仍无法断言 Android 是否终究会被淘汰.
来源: http://mobile.51cto.com/anews-571249.htm