Google 的 Git
源码库出现了一种新的操作系统叫 Fuchsia,目前有关新操作系统的信息很少,根据源码树:它使用的不是 Linux
内核而是叫 Magenta 的新内核;它的UI层使用的是 Dart
语言开发的 Flutter;渲染器是 Escher;应用程序框架 Mojo。

作者:周晨晨

澳门新葡萄京官网注册 1

澳门新葡萄京官网注册 2

【嵌牛导读】:

Fuchsia logo

参与该项目开发的知名开发者包括了 Travis
Geiselbrecht 和 Brian
Swetland。Fuchsia可能是一个研究性项目,也可能是针对增强现实等领域开发的。

众所周知,谷歌近期一直在努力打造其继Android和Chrome
OS之后的第三款操作系统“Fuchsia”。Fuchsia是一款开源、实时操作系统,与Android和Chrome
OS不同的地方在于,该系统使用的一个全新的、由谷歌开发的微内核“Magenta”。

谷歌正在研发叫Fuchsia的操作系统,似乎用来替代Android。今天这就让小编具体介绍一下Fuchsia有什么特点和功能吧。

出处:solidot

【嵌牛鼻子】:

特点

到目前为止,已知的关于Fuchsia两个最大的特点就是:

由谷歌研发,是一种开源编程语言,由JavaScript编译。

与Chrome O和安卓系统不同的是,Fuchsia不使用Linux
内核而使用属于自身的“微内核”Magenta

你可能会问:“微内核”是什么鬼?本质上来说,它是经典的内核(用来控制操作系统的底层硬件)的简化版。

下面这张照片解释了经典内核具有而“微内核”不具有的功能:

澳门新葡萄京官网注册 3

谷歌官方并没有说明任何关于这款操作系统的功能。我们只能做以下推测:

自从2010年Oracle收购了Sun
Microsystem后,Java系统不太乐意像以前那样开源了。实际上Oracle声称Android违背了Sun的使用许可,要求Google赔偿90亿败诉后,Google开发新的操作系统意为不想使用基于Java的操作系统。(目前为止,已知的开源Fuchsia代码都不是基于Java编写的)。

通过摒弃Linux内核,转而将重心放在Magenta上,Google可能做一些特定的功能,
这些功能相对于Linux应用更广泛,速度更快。

谷歌一个重要的方向是VR,Android系统在设计的时候并没有考虑到这点,而Fuchsia在开始就能兼顾到VR。

自从去年夏天外界首次了解到这款操作系统的消息后,有关这一系统的开发进展就一直处于非常神秘的状态。直到最近,外媒Ars
Technica才获悉了有关Fuchsia系统的更多消息。

Fuchsia的功能

Google用Fuchsia不仅能转储Linux内核,也能转储GPL,因为Fuchsia系统在BSC3条款、MIT、Apache2.0综合的环境下运行。转储Linux可能听起来让人震惊,但是Android生态系统貌似并不想公开上游Linux。甚至Google
Pixel仍然使用基于2014年底首次发行的Linux Kernel 3.18。

Google
的文件称Magenta为“个人电脑和现代手机都应该有的具有速处理能力,高性能RAM的,能够进行开放式计算的外围设备

“现代手机”听起来是最终可以和Android媲美的系统,但现在还差距太大,以后很难说。

Fuchsia 已经有一些相关的项目,该系统的接口和应用程序都是基于Google
Flutter(针对iOS和Android的高性能跨平台框架,用Dart编写)的SDK编写的。

Flutter应用程序是在Dart中编写的,Google在移动设备上重新启动了JavaScript,它专注于高性能,120fps的应用程序。它还有一个名为“Escher”的基于Vulkan的图形渲染器,看起来是定制的,用于运行Google的shadow-heavy“材质设计”接口指南。

【嵌牛提问】:

Fuchsia操作系统的UI——Armadillo

其实Fuchsia在去年8月份就出现了,只不过当时只是一个命令行,最近爆出了多个UI。

下面是将 Fuchsia 的系统 UI 编译成 Android APK 后,将其安装在 Android
设备上的图片。

澳门新葡萄京官网注册 4

澳门新葡萄京官网注册 5

澳门新葡萄京官网注册 6

澳门新葡萄京官网注册 7

澳门新葡萄京官网注册 8

澳门新葡萄京官网注册 9

澳门新葡萄京官网注册 10

澳门新葡萄京官网注册 11

澳门新葡萄京官网注册 12

Fuchsia界面用跨平台的Flutter
SDK编写的,意味着Fuchsia的组块能够在Android系统使用。

可以看到,新的 UI
包括一个重新设计的主屏幕,一个键盘,一个主页按钮和(一种)一个窗口管理器。

“遗憾”的是它并没有真正“工作”的功能,只是一些用户界面的组合。

澳门新葡萄京官网注册 13

Armadillo 的官方标志,由 Google 的顶级艺术家之一创作

谷歌为什么要打造全新操作系统Fuchsia?

要走的路还很长

对于谷歌的任何新项目,大家很难知道项目将来的规模如何。这是一个“20%”的,将在一年内被遗忘的项目还是一个比较重要的项目?幸运的是,我们有一个来自
Fuchsia的开发者关于这个问题的直接声明。在公共的 Fuchsia IRC
频道中,Fuchsia 开发者 Travis Geiselbrecht
提到这个操作系统不是“玩具”项目,不是一个 20%
的项目,也不是一个我们不关心其存亡的产品。

好比,iPhone出来之前,Android被认为是最有前景的系统,最开始时应用于相机,然后是黑莓,在iPhone推出后迅速重新设计。对于Android,Google仍然坚持多年前做出的定位——数十亿智能手机的移动操作系统。

现在看来,Android 具有两个最大的问题是:

在第三方硬件生态系统中推出操作系统更新

缺乏对 UI 流畅性的关注

虽然还没看到该系统关于更新的计划,但它对 Dart
语言的依赖意味着它将把重点放在高性能上。

谷歌可以抛弃 Linux 和 GPL,它也可以抛弃 Java 和由 Oracle
导致的问题,而且谷歌基本上可以将其与所有的 Android
上游项目隔离开来,并将所有开发移至内部。如今在 Android
这样的规模上做这样的事情将是一个巨大的项目。

最难的不是开发一款新的系统,而是找到Android的过渡方案,毕竟Android系统已经成为世界上最受欢迎的操作系统了。“跨平台”特性似乎让过渡方案有了希望。

如果Google可以让开发者开始在Flutter中编写应用程序,那么它将会创建一个在iOS,Android以及最终的Fuchsia上运行的应用程序生态系统。
Google还表示愿意且有能力通过Chrome操作系统,让Android
Runtime在非Android平台上运行,所以如果Google确实选择了一个过渡方案,也许可以将端口和整个Android堆叠到Fuchsia作为权宜之计。

如果Fuchsia一切顺利,也许在 2020
年左右可以看到相关的消费者产品。当然,这是谷歌,所以所有这一切可能会在某天就被取消。Fuchsia
的道路还很漫长。

【嵌牛正文】:

 
关于手机、笔记本,平板,有一些东西你需要明白:大多时候,产品需要适应的软件“内核”已经相当陈旧。Android使用的是Linux内核,而Linux是1991年开始开发的。Mac
OS
X、iOS、其它苹果平台是基于Unix开发的,1969年AT&T贝尔实验室开发了Unix。Windows计算机是以Windows
NT内核为基础的,而Windows NT内核可以追溯到1993年。

 
内核之所以存在,主要是为了管理操作系统的最深层级。例如,内核可以处理硬件设备(比如键盘、任务安排、管理文件和内存)的请求。为了达到目的,内核会摘取操作系统最复杂难懂的部分,这样做十分有用,开发者不需要发知道特殊打印机的型号就可以让程序执行打印命令。

  一方面产业对老内核(比如Unix、Linux、Windows
NT)顺从依赖,另一方面产业对尖端技术痴迷追求,二者似乎存在矛盾,产业专家贺拉斯•德迪认为,在最低层级,计算的本质与几十年前是一样的。例如,今天的Windows计算机使用的是英特尔处理器,
而英特尔处理器又源起于第一台IBM
PC。从某种程度上讲,内核只是一件商品。“我们仍然使用相同的架构,使用相同的计算概念(注册表,晶体管),正是因为这个原因,我们没有必要开发更好的内核。”德迪称,“内核问题已经解决了。”今天,我们将传感器、计算力植入更多的设备,例如,我们会将普通家庭转变为智能家庭,还可以让一切东西更加互联(也就是所谓的物联网)。开发Fuchsia的背后理由可能是老内核(比如Linux)无法适应新设备浪潮的到来。正因如此,谷歌团队才会尝试创造一个新内核,适用于新时代。谷歌的内核名叫Magenta,它是以谷歌最近的实验项目LittleKernel为基础开发的。

  扎克•苏帕拉(Zach
Supalla)拥有的公司Particle提供互联网硬件装备和开发者工具,他认为,在小型计算设备上Linux存在一些问题。对于这类应用来说Linux太大了。虽然Linux的内核可以定制,开发者可以摘掉一些不需要的部件,但是占用的空间仍然达到了兆字节(megabytes)。换言之,我们很难将Linux内核植入便宜的微控制器,安装的处理器会更大一些、更贵一些、能耗更高一些。还有一个问题就是Linux无法支持“实时”功能。在ATM、医疗产品、其它目的单一的设备中,我们也安装了操作系统,但是Linux与这些操作系统不同,它通过“安排”来处理众多的任务。在具备通用目的的计算机中,Linux可以实现性能的最大化,但是如果用在需要精准定时的设备中就会产生问题,比如3D打印机,汽车内部的机械控制。“如果你想要确保产品的运行精准到毫秒,肯定不希望系统存在一个流程,用它来确定什么任务先执行。”苏帕拉说。苏帕拉还认为,在物联网应用中,如果安装的是通用目的的操作系统——比如Linux,它的安全性会降低。代码越多,潜在的安全漏洞也就越多,我们需要解决这些漏洞,或者通过防火墙、VPN来锁住漏洞。“如果我们运行的是实时操作系统或者嵌入式操作系统就会有一个好处,没有漏洞需要锁住。”苏帕拉表示,“它没有运行一大堆让你担惊受怕的东西。除了你编写的软件,不会有任何其它的东西运行。”

 
苏帕拉猜测,Fuchsia希望能将两个世界的精华融为一体,一个是Linux世界,它可以允许程序、硬件通过操作系统更好地通信;还有一个世界就是嵌入式系统,比如FreeRTOS和ThreadX。“谷歌可能会从Linux系统中抽取层级,但是性能、小尺寸、实时特性会从RTOS中引入。”
苏帕拉表示,“我认为,做这样的事情是很有价值的,从理论上讲可以完成,只是这样的事之前没有人做过。”德迪有一套不同的理论:谷歌Android碰到了知识产权授权问题,全新的操作系统可以回避这一问题。德迪称:“因为新系统是全新设计的,不会使用其它人争相使用的知识产权。”“这可能是一个合理的假设,因为Linux存在一些知识产权问题。”请注意,谷歌开发操作系统可能完全是因为学术。Fuchsia的开发者曾经表示,最终他们会用文档完全记录操作系统,而且还会发布操作系统,但是时间可能很遥远,也不清楚谷歌是否会提供支持。Android生态系统已经很庞大了,它正在与Chromebook整合。

 
与此同时,谷歌还有一个嵌入式变体操作系统Brillo,它是Android的压缩版本,该系统正在朝全功能平台迈进,不再只是一个骨架操作系统。最开始时,Unix只是一个自愿项目,是贝尔实验室的无组织团队开发的,在开发Linux时,林纳斯•托瓦兹(Linux
Torvalds)只是将它当成一个爱好。再过几十年,我们也许会谈论Fuchsia在Googleplex内部非同寻常的起源。