Google|谷歌提出可在Fuchsia上运行Android/Linux应用程序的新方法

许多年前,外媒就已爆料谷歌正在开发一款明显不基于 Linux 底层的 Fuchsia 操作系统 。有趣的是,针对 Fuchsia OS 的最新建议,表明这款“非 Linux”操作系统仍考虑如何在上层运行“未经特殊修改”的 Android / Linux 应用程序 。显然,对于一款从头开始构建的 OS 来说,推广初期最大的问题,就是应用生态的平稳过渡 。

Google|谷歌提出可在Fuchsia上运行Android/Linux应用程序的新方法
文章图片

资料图(via Malwarebytes)
作为 Chrome OS / Android 移动操作系统的继任者,它理论上可以满足同时运行 Fuchsia 原生应用、以及 Android / Linux 应用程序的要求 。
举个例子,只需通过类似 Chrome OS 的套壳方案,即可在虚拟机环境中运行 Linux 应用程序 。此外借助 arcvm 项目,Chrome OS 甚至可用相同的策略来运行 Android 应用 。
不过虚拟机方案也不是没有缺点 。首先,在 Fuchsia 主机和 Android 客户端之间,文件的管理会变得相当棘手 。
此外 Fuchsia 是一款更加强调安全性的移动操作系统,从设计之初就考虑到了让应用程序之间尽可能地彼此隔离 。
为了保持 Linux 应用程序之间的隔离程度,Fuchsia 可能需要运行多个虚拟机,但这反之优惠降低系统的整体性能体验 。

Google|谷歌提出可在Fuchsia上运行Android/Linux应用程序的新方法
文章图片

Fuchsia 层级结构(图 via Malwarebytes)
本周,我们在谷歌源码网站(传送门)上见到了一项针对 Fuchsia 运行非原生(比如 Linux)应用的替代解决方案 。
在这项提案中,开发者认为可借助 Starnix 机制,帮助系统在 Linux 内核指令与 Fuchsia Zircon 内核指令之间进行转换 。
基于此,Linux 程序仍可在 Fuchsia 平台上“正常运行” 。如果你深入了解了 Linux 的工作原理,就会知道基于 Starnix 的完整建议是相当有趣的 。
其中最有趣的,还是开发者打算如何利用 Starnix,尤其在缺乏重新编译的能力的情况下 。
据悉,Android 应用程序已经包含了为 Linux 编译的原生代码模块 。而为了在 Fuchsia 上运行该软件,我们还需要能够运行二进制文件、而不修改它们 。
从代码建议来看,谷歌可能也是打算让 Fuchsia 能够深度支持 Android 应用程序的 。但从更长远的规划来看,Starnix 显然只是一个权宜之计 。
【Google|谷歌提出可在Fuchsia上运行Android/Linux应用程序的新方法】至于开源社区对近期开放的 Fuchsia OS 项目有多浓厚的兴趣,仍有待时间去检验 。

    推荐阅读