Fuchsia是一个正在开发中的开源操作系统。它可以在各种设备上运行,无论是单一用途的设备(比如自动取款机ATM和GPS单元),还是桌面电脑,都是它的用武之地。但是,与Android不同的是,Fuchsia并不是一个基于Linux的系统,也没有以其他支柱型软件为基础。它是从零开始构建的。
Fuchsia仍处在构建的早期阶段,而且有可能是个实验性项目。谷歌目前尚未提及它将如何使用Fuchsia。软件发展已经有数十年的历史,为什么谷歌要从零开始构建操作系统呢?它的理由有很多。
内核的问题
对于你的手机、平板电脑和笔记本电脑,有一些事情可能你还不知道:大多数时候,它们使用的都是稍加改动过的古老软件“内核”。 Android使用Linux内核是1991年开发的,Mac OS X、iOS和苹果的其他平台是基于Unix系统的,那是AT&T贝尔实验室在1969年启动的一个项目。Windows计算机则是基于Windows NT内核,其历史可追溯到1993年。
Unix、Linux和Windows NT这样的老式内核一直在挑大梁,似乎与科技业一向求新求变的风尚相矛盾,但行业分析师Horace Dediu认为,从最底层的角度来看,计算基本上是相同的,和几十年前区别不大。举例来说,如今Windows计算机上使用的芯片,就是首台IBM PC上英特尔处理器的嫡传后裔。从这个意义上说,内核不过是一种通用产品。
“我们使用的仍然是完全相同的架构,完全相同的计算方式——寄存器、逻辑门、晶体管——出于这个原因,我们没有必要开发一个更好的内核,”Dediu说。 “内核我们已经搞定了。”
可能是我们以为已经搞定了。现如今,我们正在把传感器和计算能力塞进更多的设备里面,比如把普通住宅改装为智能住宅,让所有东西都能联网(也就是物联网)的时候。谷歌之所以开发Fuchsia,可能是觉得Linux这样的老式内核不适用于这一代新的设备。因此他们想为新的世代研发出一个新的内核。 (内核本身被称为Magenta,它以谷歌近期的另一个实验性项目LittleKernel为基础)。
Zach Supalla在硬件开发工具和物联网服务提供商Particle公司工作。他指出,Linux用在小型计算设备上时有些问题。
首先,对于这类设备来说,Linux过于庞大了。尽管Linux内核是模块化的,开发者可以去除多余的部分,但它还是会占用大量空间。
另一个问题是,Linux不是“实时”的。自动取款机、医疗产品和其他单一用途设备采用了嵌入式操作系统,和它们不一样的是,Linux是靠一个时间表来处理多任务的。虽然这可以最大限度地发挥通用计算机的性能,但却也会给那些需要精确定时的设备带来麻烦。像3D打印机,汽车内部的很多电动控制装置等等,都对精确定时有很高的要求。
对于物联网应用来说,像Linux这种通用的操作系统可能会不太安全,苏帕拉说。它的代码更多,这也就意味着需要防范的漏洞也会更多,你必须使用防火墙或者VPN来解决或封堵这些安全漏洞。
“他们可能想要开发一个抽象程度达到Linux水平,但性能、体量和实时性与RTOS相当的操作系统,”Supalla说。 “这样的操作系统有很大的价值,我觉得从理论上说是可以办到的。只是以前从来没有人这么做过。”
扩展性问题
如果Fuschia针对的只是小型设备,它可能没有那么引人瞩目。但是Fuchsia的开发人员有更远大的雄心,他们声称该操作系统可以扩展到智能手机和台式电脑上。从理论上讲,Fuchsia可以直接替代谷歌的Android和Chrome OS。
谷歌为什么要这么做?Supalla认为,从零开始或许可以构建出更高效的操作系统,从而获得更高效的服务器——谷歌一向都对这方面很感兴趣。他还指出,兼容台式机有助于模拟大量小型设备同时运行,确保它们可以在大规模使用的时候正常运行。
Dediu认为谷歌Android受到了知识产权方面的限制,而一个全新的操作系统则没有这样的问题。
Fuchsia的开发人员表示,最终他们会发布这个操作系统,但可能还有很长的路要走,而且目前也不清楚谷歌是否会支持这个项目。 Android生态系统已经是十分庞大(而且正在开始和Chromebook合并)。而且谷歌还在开发一个嵌入式的轻量级物联网操作系统Brillo,它是Android的一个简化版本——Brillo正在形成一个成熟的平台,而不仅仅是一个基础性的操作系统。
话又说回来,Unix最开始也是一个志愿性项目,并没有贝尔实验室的正式立项,而林纳斯•托瓦兹最初开发Linux的时候也只是把它当作业余爱好。也许几十年后,当我们谈到Fuchsia的时候,也会说到它在谷歌的诞生有多么不可思议。
转载请注明:Android开发中文站 » 谷歌在Android之外再做一个全新的操作系统