谷歌的Fuchsia是未来的OS吗

谷歌正在开发一个新的os: fuchsia os,这个技术团队放弃了 linux 架构,转而基于自行开发的微内核 zircon。fuchsia 不仅可以取代桌面os chrome os,还可以取代为移动设备设计的 android,尽管 android占据了智能手机操作系统85%的市场份额。这个操作系统最终可以取代谷歌现有的操作系统,成为一个跨所有设备的统一系统,但在这个时候说这个还为时过早,因为它还处于试验阶段。
谷歌的fuchsia是未来的os吗? 我们已经仔细研究了这个项目。
什么是谷歌fuchsia?
fuchsia不仅是介于红色和蓝色之间的颜色,而且是谷歌自2016年以来一直在公众面前开发的模块化、基于版权的实时os的名称。该系统是用 c、 c + + 、 dart、 go 和 rust 编写的,运行在现代64位英特尔arm 处理器上。
与基于 linux 的 android os 或 chrome os 不同,fuchsia是基于 zircon内核构建的,zircon是谷歌创建的一个新内核。与此同时,armadillo 内置在谷歌的 flutter sdk 中,该软件用于创建跨平台的代码,能够在多个设备和操作系统上运行。使用 armadillo,不同的卡片可以在分屏或选项卡界面中拖动使用
rtos能够对事件作出响应,并在预定义的时间内即时提供处理结果。
谷歌自己的文档将该软件描述为针对“现代手机和现代个人电脑”的“快速处理器”和“大量内存”它还明确指出“ fuchsia 不是 linux”在 fuchsia 的 github 页面上列出了两位开发者——一位是谷歌的高级软件工程师,一位是 android tv 和 nexus q 的前工程师——他们都是嵌入式系统领域的知名专家
正如我们所提到的,fuchsia 是建立在 zircon 之上的,这是一个“中等大小的微内核” ,基于 littlekernel 项目,用于嵌入式系统,比如一个不需要整个操作系统的设备,比如一个物联网设备。google 的文档说明 zircon 支持用户模式、图形渲染和“基于能力的安全模型”。这一切都表明 fuchsia 是物联网的操作系统。
fuchsia os 的源代码有开源许可证(包括 bsd、 mit 和 apache 许可证) ,任何人都可以在 google 的公共 git 仓库中查看和下载。这里有一个关于这个项目的全面文档。
根据文档,fuchsia os 同样适用于智能手机、平板电脑、笔记本电脑和台式电脑。从2017年5月开始,armadillo 已经有了一个触摸优化的用户界面(ui)和一个图形用户界面。谷歌正在为 fuchsia os开发一个名为 capybara 的桌面用户界面。从那时起,就有传言说谷歌正在研究一种几乎无与伦比的安卓系统的替代品。
安卓系统仍然存在碎片化问题。这是由于数十家制造商的数百台设备使用不同的自定义 android 版本,而不是最新、最纯的版本。安卓系统也有更新问题,源于开源操作系统。谷歌为 android 系统的更新制定了年度发布计划,但是需要一段时间才能完全覆盖整个生态系统。
谷歌把安卓系统提供给 oem 和运营商,让他们修修补补,随机加载到硬件上,导致系统分裂。如果已经做了任何修改,谷歌不能直接向设备推送更新。也是基于 linux 的,linux 一直受到许多法律问题的困扰,而且内核已经被完全调整,为 bug 和漏洞的增长创造了一个主要的环境。
fuchsia的os是如何工作的?
谷歌在fuchsia os的开发上开辟了新天地。可以说,苹果公司已经从过去的错误中吸取了教训——尤其是在更新和修改 android 和 chrome os方面的限制和问题。现有的谷歌os的核心区别在于: fuchsia os 从开始到结束都是模块化的。这不仅反映在模块化系统体系结构中,而且反映在对应用程序的全新理解中。
模块化应用程序设计
google fuchsia 基于模块化设计,打破了应用的概念。软件单元称为软件包。包是文件的选择——包括元数据、清单文件和可执行元素。后者在谷歌术语中被称为components。
fuchsia components最接近我们今天所说的应用程序。每个组件执行一个特定的任务,并且可以与其他组件组合以支持复杂的应用程序。组件的各个部分包括一个清单文件以及关联的代码。组件总是在自己的沙箱中运行,通过名称空间访问对象,并通过导出目录发布它们。fuchsia os 主要关注两种类型的组件: 模块和代理。
components中的组件在后台工作,并为其他组件提供服务。代理被另一个组件或系统调用——例如,响应某些触发器,如推送通知或其他屏幕上的进程。
modules是在前台执行、用户可见的具有用户界面的组件。os中的每个模块都是为特定任务设计的,并相应地标记,以便在需要时能够自动访问。这是通过模块的函数完成的,可以用所谓的动词和名词来描述。
每个模块都包含一个动词列表,用于指示模块可以完成哪些工作,以及一个表示正在处理的实体的名词列表。根据 google 的术语,术语实体包括任何唯一可识别的人、地点、事物、事件或概念,它们作为结构化数据对象存在,可以被引用、检索、呈现、操作或共享。
实际上,使用实时os fuchsia 的情况如下: 只要用户执行一个操作,fuchsia os 就会自动确定任务的合适模块。所需的动作被翻译成动词和名词的组合。然后系统检索所有支持所需谓词的模块列表,在下一步中,根据也可以处理所需名词的模块进行过滤。
相关的模块可以组合成所谓的故事。情景根据当前需求将不同的操作和任务组合在一起,并且应该使用户能够根据自己的想法和需求组装复杂的应用程序。
小结:借助于 fuchsia os 的模块化应用概念,google 将重点从应用转移到了动作和内容上。与传统的应用程序os不同,fuchsia 的任务由一组组件在所谓的故事中处理,这些组件通过模块访问当前所需的资源。
下面的图形说明了 fuchsia os 应用程序开发背后的模块化概念。
fuchsia os应用程序的开发是基于模块化结构
模块化系统体系结构
fuchsia os 的系统架构也是基于模块化的方法。os由四个或多或少相互独立的级别组成,每个级别都有自己的任务: garnet、zircon、peridot和topaz。
1)zircon
zircon (原名 magenta)是谷歌新os的基础,但严格来说它不是 fuchsia os 的一部分,也可以与其他os一起使用。
zircon 包含 fuchsia os 内核、设备管理器、最核心和第一方设备驱动程序,以及 libc 和 launchpad 等低级系统库。此外,zircon 还提供了 fidl (fuchsia 接口定义语言) ,一种用于进程间通信的协议。fidl 是独立于编程语言的,但与流行的编程语言如 c、 c + + 、 dart、 go 和 rust 有联系。
作为 fuchsia os 的基础,zircon 为后续级别提供硬件访问,在共享的硬件资源上创建软件抽象,并作为低级别软件开发的平台。zircon 是小内核项目(lk)的结果,它充当 android 的引导装载程序。
2)garnet
garnet是第一个基于garnet的fuchsia特定系统层。在设备级别提供各种系统服务,以及网络、媒体和图形服务——例如软件安装、系统管理和与其他系统的通信。garnet 包含图形渲染器 escher,包管理和更新系统 amber,以及文本和代码编辑器 xi。
3)peridot
peridot是os的fuchsia os的水平,其中模块化的应用程序(见上文)是管理和编译根据目前的用户需求。peridot的核心成分是ledger和maxwell。
• ledger: ledger 是一个基于云的存储系统(分布式存储系统) ,它为每个 fuchsia 组件(模块或代理)提供单独的数据存储。这在不同的设备之间是同步的。这使得用户可以在 fuchsia 设备上继续使用另一款fuchsia设备。分类帐是安全的到用户的谷歌帐户
• maxwell: 通过maxwell,谷歌在fuchsia os中集成了一个组件,支持用户的人工智能。就像 fuchsia 一样,maxwell采用了模块化设计。人工智能系统由一系列代理组成,这些代理分析用户的行为及其使用的内容,确定后台中的适当信息,并向os提出建议——例如,应该加载哪些模块或故事以适应用户在特定时间的行为。谷歌语言助手也是人工智能组件的一部分,该组件正在代号为 kronk 的 fuchsia 项目框架内进一步开发
注意:kronk 是迄今为止唯一一个不是作为开源项目开发的 fuchsia os 组件。
4)topaz
topaz 是 fuchsia os 的系统级别,用户与os进行交互。这里显示了下面级别定义的组件的用户界面: 带主屏幕的图形用户界面和模块的视觉前端。谷歌的跨平台开源移动应用程序框架 flutter 也集成在这个系统级别。因此,我们可以假定,fuchsia os 用户将来也能够运行和使用其他系统的应用程序——比如 android 或 ios 应用程序。
fuchsia os的四个系统级别: zircon, garnet, peridot, topaz
fuchsia os 的优缺点一目了然
按照模块化的方法,fuchsia os 的开发人员将系统体系结构划分为具有特殊任务的独立区域。这不仅提高了代码的可读性,而且影响了os的适应性和更新。除此之外,谷歌还解决了 android 长期以来一直难以解决的升级问题。
安卓生态系统正在努力解决更新问题。看看官方的发行指示板就会发现: 新版本的os正在缓慢扩展。这是一个竞争对手没有面对的问题。虽然苹果的硬件和软件来自同一个来源,并且可以直接适应,但是每次 android 升级必须首先由不同的硬件制造商来实现。
此外,模块化的系统架构满足了谷歌销售合作伙伴的需求,他们希望根据自己的想法改进或扩展fuchsia os。
硬件制造商有可能在不影响其他级别功能的情况下,用自己的产品交换os的各个级别。例如,三星可以用自行开发的 touchwiz 风格的用户界面取代 topaz。亚马逊可以放弃peridot和谷歌语言助手,而是为 fuchsia os 装备一个基于 aws 的应用程序模块,包括 alexa。
在这两种情况下,设备制造商都可以提供个性化版本的fuchsia os,而不会影响garnet和zircon的特性,也不会影响这些层的官方更新周期。
优点:fuchsia os 的模块化系统架构使得谷歌能够比 android 更快地推出安全更新;由于模块化设计,硬件制造商有可能用自己的模块替换fuchsia os的单个系统级别,而不影响其他级别的功能
缺点:谷歌使ledger成为fuchsia os的核心组件。ledger 控制跨多个设备的应用程序同步,将系统紧密地绑定到云上。
发展状况
fuchsia的os正在慢慢形成,但还远远没有为市场做好准备。即使是官方的发布日期也没有被谷歌公布。据媒体报道,第一批硬件测试已经开始。作为第一个测试 fuchsia os 的设备制造商,华为已经在 honorplay 上成功启动了新的os。这款智能手机配备了华为麒麟970芯片,该芯片也用于该制造商的其他设备,如 mate 10、 mate 20和 mate 20 pro。
fuchsia os 演示
fuchsia os 可以编译成 apk (android 软件包) ,早在开发阶段就安装在 android 智能手机和平板电脑上。mgoulao.github.io 的 manuel goulão 的 fuchsia os 演示版本展示了它的样子。
如果你在浏览器中访问 fuchsia os 演示,你会看到一个网站,显示os的启动屏幕。这将向用户提供背景图像和当前时间。此外,还有三个按钮可用: 打开 wi-fi 设置的按钮、注册用户的登录按钮和来宾登录。
这个演示只允许你以客人身份注册。
注册用户可以访问fuchsia os的主屏幕,在一个页面上显示所有信息。
主屏幕上最突出的元素是屏幕中央的一个窗口,其中包含谷歌搜索栏、谷歌语言向导和安装在设备上的应用程序。
如果你启动一个应用程序(它只能让演示作为一个虚拟应用程序可用) ,你会看到谷歌选择了一个基于窗口的用户界面。
单击主屏幕中间的用户图像会打开一个带有常用设置的菜单。
参考资料:
https://arstechnica.com/gadgets/2020/12/googles-secretive-fuchsia-os-is-open-for-contributions/
https://www.ionos.com/digitalguide/server/tools/fuchsia-os/
https://www.pocket-lint.com/laptops/news/google/138518-google-fuchsia-os-what-s-the-story-so-far


机器人“老将”将进一步推动机器人实际场景的落地
OPPOR11什么时候上市?OPPOR11最新消息:代言人确定为迪丽热巴和陈伟霆,前后2000像素拍照更清晰
光刻技术的原理及其难点分别是什么
鼠标是真正意义上为计算机注入了人机交互的灵魂
AI+云计算共生共长,能否解锁下一个高增长空间?
谷歌的Fuchsia是未来的OS吗
如何使用555定时器来产生PWM
非门芯片的型号介绍
我国科学家成功将量子信息隐藏到非局域的量子纠缠态中
影响燃气表检定准确性的4个因素是什么
据调查64%的人表示:日常生活中不依赖物联网设备
三星电子李在镕表示未来将投资第六代移动网络和系统芯片
“换电模式”才能唤醒新能源汽车春天
无人机编队飞行套装,开启不一样的人工智能教育
传英特尔或将收购AMD
马斯克公司在猴子大脑植入芯片玩电子游戏
凌力尔特公司推出 3A DC/DC 微型模块器系统LTM80
红外感应洗手器语音播放芯片怎么选,九芯电子推荐NVG040W
什么是信道编码?信道编码简史
预防用电危险!aigo国民好物4000W大功率转换器:安全从我做起