GMTC深圳站售票最后一周,点击查看最新日程>> 了解详情
写点什么

谷歌 Fuchsia 操作系统将支持运行 Linux 应用程序

  • 2018 年 7 月 01 日
  • 本文字数:1972 字

    阅读完需:约 6 分钟

Fuchsia 是谷歌开发的一个操作系统,这是一个差不多从头研发的新系统。2016 年 8 月,Fuchsia 的开发新闻在技术新闻网站上引发了轰动,不过很多细节依旧成谜。

Fuchsia 是一个开源项目,无论开发工作还是相关的文档都还在持续完善中,除了该项目为开源之外,谷歌并未透露更多信息,包括其真正用途。根据零散分布在网上的文档、源码等信息,我们可以推测:Fuchsia 是一个专为 PC、平板电脑及高端手机所开发的一套完整的操作系统。

近日,Fuchsia OS 增加了一个用于运行 Debian Linux 应用程序的模拟器。与即将推出的适用于 Chrome OS 的 Linux 模拟器一样,相比传统的模拟器,Fuchsia 的“Guest” App 与宿主操作系统集成得更加紧密。

谷歌已经为开源的 Fuchsia OS 添加了一个 Guest App,让 Linux 应用程序可以在 Fuchsia 中作为虚拟机(VM)运行。这个 Guest App 使用了一个叫作 Machina 的库,相比传统的模拟器,Guest App 与宿主操作系统的集成更加紧密。

上个月,谷歌宣布推出 Crostini,让 Chromebook 用户更容易在 Chrome OS 虚拟机中运行主流的 Linux 应用程序。本周,宏碁宣布 Chromebook Flip C101 将在今年晚些时候提供 Linux 支持,是少数支持 Linux 应用程序的 Chromebook 之一。

除了支持 Android,Chrome OS 很快也将支持 Linux 应用程序,尽管这有点让人喜出望外,但却算不上大惊喜。毕竟,Android 和 Chrome OS 都是基于 Linux 的。而在 2016 年推出 Fuchsia 时,谷歌就首先强调,Fuchsia 不是基于 Linux 内核的。

对于有些人来说,Linux 不仅是 Android 和 Chrome OS 的基础,也是谷歌企业平台的基础,所以 Fuchsia 似乎是一种“背叛”。这就好比说,当几乎每个人都在共享一个通用的 Linux 基础时,为什么要添加另一个 Windows 或 iOS?

毫无疑问,谷歌有一些非常好的理由要避免使用 Linux。一个原因可能是 Linux“年纪太大”,太复杂了。如果从头开始做一个东西,谷歌就可以避开这些问题,使用更优雅的代码,给黑客留下最少的可乘之机。谷歌还将安全更新深植到操作系统中,通过隔离应用程序让它们无法直接访问系统内核,这一点与 Linux 是不一样的。

早在 2016 年,我们认为谷歌可能会将 Fuchsia 作为一个私有操作系统,就像苹果公司将 iOS 的一切牢牢控制在手中一样。尽管不排除这个可能性,但至少现在 Fuchsia 仍然是一个开源项目。

有些人还推测,谷歌因为无法在微处理器(MCU)领域扩大规模而绕过了 Linux。然而,基于 MCU 的物联网似乎并不是目前 Fuchisa 关注的焦点。一些报道称,Fuchsia 旨在替代 Android 和 Chrome OS,最终的组合平台将被称为 Google Andromeda。

今年早些时候,9to5Google 报道说,Fuchsia 将包含独立的 UI——用于手机的 Armadillo UI 和用于桌面的 Capybara UI——以及 Android Things 和其他新的 Android 变体,将紧密集成谷歌智能助理语音技术。从本质上讲,这与微软未能为手机和笔记本电脑提供通用的 Windows 或 Canonical 已停用的“融合”版 Ubuntu 计划如出一辙。

无论 Fuchsia 的命运将如何,谷歌需要吸引到成熟的应用程序和开发者,而实现这一目标的最佳方式就是增加 Linux 应用程序兼容性。9to5Google 建议,为了实现该目标,新的 Guest App 最开始应该先支持包括 Debian 在内的 Linux 平台,通过调用 Machina 库实现比 QEMU(虚拟操作系统模拟器)更好的集成。

谷歌将 Fuchsia 的 Machina 描述为“一个建立在 Zircon 之上的库,提供与 Garnet 系统集成的虚拟外设。”Zircon 是基于 Little Kernel(LK)的 Fuchsia 微内核,之前叫作 Magenta。Garnet 是直接位于 Zircon 之上的层,提供设备驱动程序、Escher 图形渲染器、Fuchsia 的 Amber 更新程序以及用于 Xi 编辑器的 Xi Core 引擎。其他层包括用于应用设计的 Peridot,以及 Topaz,一个支持 Flutter 的应用层。

Machina 采用了 Virtio 虚拟化标准,基于 Linux 内核的虚拟机(KVM)也采用了该标准。Machina 使用了 Virtio 的 vsock 虚拟套接字,“它可以在宿主操作系统与客户应用之间打开直接通道,而这种便利性无法通过其他方式实现”。

这样可能可以实现快速的鼠标移动、自动调整屏幕分辨率,并支持多显示器、文件传输以及复制和粘贴。这看起来很像人们所期望的通过谷歌 Crostini 在 Chrome OS 上运行 Linux 应用程序的仿真度。早些时候有关 Guest App 的报道表示,谷歌正在将 Android 运行时构建到 Fuchsia 中,而不是单纯依靠模拟器来运行 Android 应用程序。

我们应该以客观的态度看待模拟器。大多数基于 Linux 的移动操作系统厂商都承诺具备 Android 应用兼容性,但通常都未能兑现他们的诺言。因此,通过在一开始就将模拟深植到宿主操作系统中,而不是在后面才添加模拟器,Fuchsia 可能可以为 Linux 开发者提供一个真正意义上的模拟器。

查看英文原文: https://www.linux.com/blog/2018/6/googles-fuchsia-adds-emulator-running-linux-apps

2018 年 7 月 01 日 14:091909
用户头像

发布了 731 篇内容, 共 383.9 次阅读, 收获喜欢 1903 次。

关注

评论

发布
暂无评论
发现更多内容

带你了解Go怎样实现二级缓存

Regan Yue

Go redis 二级缓存 8月日更

四色建模:用户转化率 KPI

escray

学习 极客时间 如何落地业务建模 8月日更 四色建模

Vue进阶(二十一):ES6 知识储备

No Silver Bullet

Vue ES6 8月日更

模型训练语料少?知识蒸馏解决烦恼

LigaAI

人工智能 神经网络 深度学习 模型训练 nlp

【LeetCode】0~n-1中缺失的数字Java题解

HQ数字卡

算法 LeetCode 8月日更

带你读AI论文:基于Transformer的直线段检测

华为云开发者社区

模型 目标检测 Transformer 线段检测 LETR

教你如何使用FusionInsight SqoopShell

华为云开发者社区

sqoop Shell FusionInsight 脚本 Loader

索信达控股:打造新一代中小银行智能营销平台体系的道与术

索信达控股

百度BaikalDB在同程艺龙的成功应用实践剖析

百度Geek说

数据库 后端 架构·

闭关刷题3个月,五轮面试共六个小时,斩获腾讯Java开发岗位

Crud的程序员

Java 编程 程序员 架构 面试

Vue进阶(二十三):Promise 详解

No Silver Bullet

Vue Promise 异步请求 8月日更

Compose管理状态

Changing Lin

8月日更

写作 7 堂课——【5. 结构化写作】

LeifChen

写作技巧 8月日更 结构化

黑科技解密!实现socket进程间迁移

Java 程序员 架构 面试 架构师

探究Presto SQL引擎(1)-巧用Antlr

vivo互联网技术

sql 编译器 presto antlr4

TCP如何保证数据的可靠传输

W🌥

计算机网络 TCP/IP 8月日更

趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

ベ布小禅

8月日更

OAuth2.0授权码模式实战

码农参上

OAuth 2.0 8月日更

生产环境全链路压测平台Takin

数列科技

开源 高可用 全链路压测 性能压测

网络攻击的高频出现,高防服务器是最佳的选择

九河云安全

WeLink的杀手锏和远程办公软件的另一面

华为云开发者社区

远程办公 华为云 welink 视频会议 数字化办公

百度AI原生云实践: 基于容器云打造 AI 开发基础设施

百度开发者中心

AI 最佳实践 方法论 云原生

卷向字节码-Java异常到底是怎么被处理的?

why技术

Java JVM

通过字节Java研发岗4轮面试,收到sp offer(月薪30k)

Crud的程序员

Java 编程 架构

中间件运维之故障自愈

OPPO数智技术

运维 后端 中间件

c++ list 详解

若尘

c++ List 8月日更

价值连城 人工智能的通识课 - 吴恩达Andrew Ng AI For Everyone John 易筋 ARTS 打卡 Week 59

John(易筋)

ARTS 打卡计划

当 CloudQuery 遇到大数据

CloudQuery社区

大数据 hive ES 数据库管理

破解三大安防视频痛点,看华为4大硬核视频上云技术

华为云开发者社区

视频 华为云视频 安防 摄像头 安防视频

从0开始的TypeScriptの三:TS的类型

空城机

typescript 前端 8月日更

Go 学习笔记之 Goroutines

架构精进之路

Go 8月日更

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

谷歌Fuchsia操作系统将支持运行Linux应用程序-InfoQ