Google的新操作系统:从技术角度看Fuchsia
谷歌正在“悄悄”开发一款全新的操作系统,命名为“Fuchsia”。Google 在 Fuchsia 的 GitHub 主页上这样介绍 Fuchsia:“Pink + Purple == Fuchsia (a new Operating System)”。 Google 开发的操作系统都有个共同点,全都基于 Linux Kernel:Chrome OS, Android 和 Chromecasts。但是 Linux Kernel 并不是在所有的场景中都能起到很好的作用(影响性能或者造成其他影响),特别是嵌入式设备,类似汽车仪表盘和 GPS 单元。 Fuchsia 主页所能获取的信息有限,但是这完全不能满足我们的好奇心。 比 Linux Kernel 牛? 从 Fuchsia 所包含的项目和文档发现,Fuchsia 的内核是 Magenta kernel,一个基于"Little Kernel"的项目。Magenta 跟 Fuchsia 的关系类似 Linux 和 Android,Magenta 内核驱动着强大的 Fuchsia 操作系统。Magenta 被设计为商业性嵌入式操作系统,类似 FreeRTOS 和 ThreadX。 但是,Magenta 比 LittleKernel 强大很多,专为现代化、高处理器的设备而准备,支持嵌入式设备、智能手机和桌面计算机。以下 Little Kernel 简称为 LK。 Magenta 的内部架构基于 LK,但是以上的层是全新的。Magenta 有进程的概念,而 LK 没有。Magenta 进程是由 LK 级的架构组成的,比如线程和内存。 其他的不同点:
这里magenta/mg_and_lk.md at master · fuchsia-mirror/magenta · GitHub提到:
看样子是一个嵌入式实时系统,和VR/AR/汽车甚至机器人有些关系;但后面又说:
那么又不像是嵌入式设备专用的系统,倒像是一款通用系统。 Fuchsia的开发者给出了一些提示:
再看它的内核之外的东西: Google 把 Flutter 作为 Fuchsia 的用户界面,Dart 作为主要的编程语言,从颜色和展示效果上看,使用的是 Material Design UI 理念。 Fuchsia 支持 32 位和 64 位的 ARM CPUs,还有 64 位的 PCs,后续应该会支持 Raspberry Pi 3。 UI layer使用Flutter(一个Dart语言实现的移动应用框架,支持Android/Ios,可以写Native App);底层渲染 Physically Based Renderer,项目代号Escher,支持Vulkan作为底层 Graphics API;那么会不会从系统层面开始支持Material Design呢(Flutter目前就采用的MD,当然这个框架也是支持第三方设计样式的)?也就是要让MD更进一步。 其中还有一个Mojo框架(这个东西似乎和Chrome关系很密切,是未来该系统能支持多种编程语言的关键),已经绑定了一些语言,比如:Go, Java, JavaScript, Python,Rust。用Dart来写GUI部分,这些语言可以用来写后台代码。 项 目的贡献者有Travis Geiselbrecht 和 Brian Swetland,这两人是Android系统的主力开发者,过去开发过WebOS,曾经是 BeOS 的开发者,也参与开发过NewOS, Danger以及iOS。而Dart,Flutter,Mojo这些又来自Chrome团队,再联想之前的传闻“Google打算在2017年统一 Android和Chrome OS”,会不会就是这个呢? Google一再的强调不会支持(SDK层面)Java以外的语言来开发 Android App,最近Chromebook又可以无缝运行Android App(通过采用类似容器的技术),那么这个新系统估计也会以这种方式支持已有的Android App。腹黑一下:和Android不同,这个系统似乎目前没看到有VM之类的东西,而且以后可以不用再和Oracle“剪不断,理还乱”了。 Google现在有两套系统:
在未来有着潜在巨大机会的IOT,VR/AR等新兴领域,目前还没有一款一开始就为此优化而打造的系统。所以:从头开发一个新的平台,将这三者融合在一起,应该是它最终的目的(当然也不排除它就是一个RTOS,就是一个嵌入式系统,为VR/AR专门开发的,是我想太多)。 不过,Android目前已经是世界上用户量最多的系统,生态庞大;ChromeOS刚刚开始有好的表现,Google是不太可能遗弃这俩系统的,它也没办法遗弃,比如Android怎么遗弃? 我觉得它更像是一种:进化、融合。你看它的源代码,其实它的很多技术栈和Android以及ChromeOS是相通的,把以前零散在Google内部的很多项目(比如Skia,Mojo)现在集中在了一起。 所以:系统底层会焕然一新,android的app生态会得以保留和延续,java不再是唯一能写app的语言,chromeOS可能会被吸收,再辅助以系统层面对VR/AR的支持。 这个策略也符合Alphabet CFO 露丝·波拉特上任以来的风格:精简产品线,不要任性的乱花钱。如果这个时候再开发一个物联网专用系统,之前已有Brillo,难到是要和Android,ChromeOS搓麻将不成? Google 的目的? (编辑:徐州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |