取代Android?聊聊谷歌的Fuchsia新操作系统

thankYouLikeMe 2017-05-16

最近,一款由谷歌开发,被称为 Fuchsia 的操作系统在网上曝光。Fuchsia 是在去年 8 月就进入了 GitHub 项目,但谷歌对此非常低调,像操作系统这样的重量级项目,却没有官方的宣传和说明介绍。网上的介绍称这个操作系统采用了代号为 Magenta[一种给给的洋红色] 的微内核设计 [MicroKernel],是一种实时操作系统 [real-time OS]。在谷歌官方介绍出现前,网上已经有了大量的「解毒」:例如说 Fuchsia 是用来取代 Android 高性能操作系统,兼容 Android 应用;也有说是针对物联网开发的一种实时操作系统;甚至有说是为了混合现实 [MR] 设计的操作系统,这众说纷纭下,哪个比较有道理?

微内核和实时系统

取代Android?聊聊谷歌的Fuchsia新操作系统
操作系统架构分类 [集成型-微内核-混合型] - 图片来自维基百科

微内核在计算机术语中,特指的是操作系统的内核小型化,即操作系统核心部分架构只有线程管理、内存管理和进程间通讯等最基本的系统调用功能,即使是系统服务、硬件驱动都放在了用户空间应用。不同应用间通过进程通信方式完成。微内核是相对于 Linux 这种庞大的集成式核心的最大优势就是较好的伸缩性,其硬件驱动和系统服务可以按需取舍,效率高,因此微内核设计的操作系统和硬件在日常生活中常见于路由器等小型设备,以及一些分工明确的分布式系统。但随着硬件性能的提升,小设备的系统也正在变得大而全起来,以 Linux、Android 为基础的「智能硬件」已经广泛普及。

取代Android?聊聊谷歌的Fuchsia新操作系统
Windows NT

取代Android?聊聊谷歌的Fuchsia新操作系统
Mac OS

在 PC 上运行的操作系统中,基于 Mach 的 MacOS 就是微内核系统的典型,虽然 WindowsNT 和 OSX 都曾经自我标榜为微内核操作系统,但由于微内核系统中用户访问程序、硬件等行为都需要通过通信而不是程序函数调用完成,因此在大型复杂的应用下性能和效率都非常捉急。现在的 Windows 和 OSX 系统都将大量的系统服务和硬件驱动放入系统核心部分,其实更为接近 Linux 这样的集成式核心设计,有时会把这种集成式内核和微内核设计的结合称为混合式核心设计。

而实时系统是一种以实时 [或尽快] 并按时完成需求任务的操作系统类型,比较著名的有 WindowsCE、VxWorks 等。这类系统并不追求大数据吞吐量,而是要求有较快的响应速度和灵活的任务执行能力。

Fuchsia 能做什么?

取代Android?聊聊谷歌的Fuchsia新操作系统
Google Fuchia Logo - 图片来自互联网

目前比较受欢迎的微内核+实时系统有开源的 FreeRTOS 等,它没有图形操作界面,主要用于实现类似无线路由器等功能比较单一的设备系统。而 Fuchsia 已经被归类为微内核+实时系统,是不是真的奔着物联网操作系统而去的?但 Fuchsia 出名就是因为在油管上有人演示了在手机上运行 Fuchsia 图形界面的片段而开始火起来的,当然目前其图形界面还处于初始演示阶段,并没有具体的功能,但可以看出人们还是希望更愿意接触的是一个有图形界面的全能型操作系统,而不是早期的纯命令行模式界面,然而对于大多数物联网设备来说,UI 只是个累赘。

但以此要推断出 Fuchsia 是要做物联网操作系统还是取代 Android 还为时过早,从硬件支持平台来看,Fuchsia 主要支持的是 ARM64 和 X86-64 两种高性能运算处理器类型,这类高功耗处理器显然不适合用在追求低功耗和小型化的物联网平台,至少从 Fuchsia 开发者团队的意愿来看,其设计目标应该还是完整的图形操作系统。

取代Android?聊聊谷歌的Fuchsia新操作系统
谷歌 Fuchsia 系统界面截图

那么 Fuchsia 的诞生是不是真为了取代基于 Linux 的 Android?许多人对大数据和复杂应用的理解可能是超算暴力运算任务或电信机房的服务器,因此误认为小型化的微内核和实时系统对于普通用户应用而言更有优势。但事实上用户日常的游戏娱乐、浏览网页看视频等应用对于目前使用微内核和实时系统的单一个体硬件来说都是非常巨大的处理器运算和数据负担 [不信打开微信支付宝客户端试试]。虽然 Android 的很多缺点是由于 Linux 内核导致,但更多的是软件开发者不注重效率地过度开发和功能堆砌,或谷歌在开发 Android 组件时技术水平有限造成的 [类似 Skia GPU 的负优化],改用微内核和实时系统设计未必能显著提升这类手机应用环境下的性能和效率。

取代Android?聊聊谷歌的Fuchsia新操作系统
谷歌 Fuchsia 系统源代码开发语言构成

相关推荐