谷歌为何还要从零开始开发新操作系统

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  
谷歌为何还要从零开始开发新操作系统

谷歌近期宣布正开发一款全新的操作系统 Fuchsia 。那么,在Android系统早已发展壮大的情况下,谷歌为何要从头开始开发又一款操作系统?以下为文章全文:上周,谷歌员工做了一件让人看不明白的事:他们低调地宣布正在开发一款操作系统,从理论上来说,这款操作系统将成为谷歌Android的竞争对手。

这款开源操作系统代号为 Fuchsia ,可以搭载在各种轻量级、单一目的的设备上,例如ATM机和GPS设备,同时也支持PC。不过与Android不同,Fuchsia没有基于Linux内核,也并非衍生于当代其他PC或手机操作系统。实际上,这是从头开始的一项工作。

谷歌并未透露,将利用Fuchsia去做些什么。Fuchsia仍处于早期发展阶段,有可能只是一次尝试。不过,谷歌有着充分的理由,“重启”一个沉寂数十年的软件开发领域。

“外壳坚硬”的内核

你可能不太清楚自己手机、平板电脑和笔记本的某些方面:这些设备操作系统的“内核”非常古老。Android使用了Linux内核,这一内核起源于1991年。Mac OS X、iOS,以及其他苹果平台基于Unix内核,Unix于1969年发源于AT&T贝尔实验室。Windows计算机采用的是可以追溯至1993年的Windows NT内核。

内核的目的是管理操作系统的最底层。内核处理来自键盘等硬件设备的请求,调度计算任务,以及管理文件系统和内存。由于内核的存在,如果一款应用想要调用打印功能,那么开发者并不需要知道打印机的具体型号。

对于一个追求完美的行业来说,Unix、Linux和Windows NT等内核的存在很矛盾。不过业内知名分析师霍拉斯·德迪乌(Horace Dediu)指出,在最底层,计算方式与数十年前相比并没有不同。例如,当前Windows计算机采用的芯片与第一代IBM PC中的英特尔处理器一脉相承。从这种意义上来说,内核是通用的。

德迪乌表示:“我们仍在使用同样的架构,计算的概念没有变化:寄存器、门电路、晶体管。因此,我们没必要研究更好的内核。内核已得到充分的发展。”

或许,这就是大部分业内人士的想法。然而目前,我们正在将传感器和计算元件集成至更多设备,例如将普通家居设备变为智能家居,让所有一切都联网(即物联网)。Fuchsia背后的逻辑或许在于,古老的内核,例如Linux,不适用于这些新生设备。因此,开发者正在构想更现代化的内核。(这里的内核本身名为Magenta,而Magenta又基于谷歌的另一项实验LittleKernel。)

来自Particle的扎赫·苏帕拉(Zach Supalla)指出,Linux给这些小型计算设备带来了问题。Particle提供物联网硬件套装和开发者工具。

一方面,对这些应用来说,Linux的规模太大。尽管Linux内核是模块化的,开发者可以剥离不需要的组件,但最终这仍需要以MB计算的存储空间。这意味着,Linux内核很难被用在廉价的微控制器上。如果想要使用Linux内核,那么开发者必须选择尺寸更大、价格更贵、能耗更高的处理器。

苏帕拉表示:“市场需要质量更好、价格更低的产品,但这样的需求尚未被满足。”

另一方面的问题在于,Linux并不是“实时”操作系统。与ATM机、医疗产品,以及其他单一目的设备中的嵌入式操作系统相比,Linux采用调度算法来管理多任务。尽管这可以使通用目的设备的性能最大化,但也给需要精确定时的设备,例如3D打印机,以及汽车发动机控制,带来了问题。

苏帕拉指出:“如果你想要确保,这些任务有着微秒级的时间精度,那么你不会希望让计算机来决定何时处理哪一任务。”

对物联网设备来说,类似Linux的通用目的操作系统也不太安全。这样的操作系统代码很多,这意味着很可能有更多信息安全漏洞需要解决,或是需要通过防火墙和VPN进行锁定。

苏帕拉表示:“运行实时操作系统或嵌入式操作系统的价值之一在于,你不需要做任何锁定。你不需要太担心这些系统。除了自己编写的软件之外,这些操作系统无法运行任何东西。”

苏帕拉猜测,Fuchsia的目标是将Linux的优点和当前嵌入式系统,例如FreeRTOS和ThreadX,结合在一起。在支持应用和硬件通过操作系统去通信方面,Linux仍要好于绝大多数系统。

他表示:“他们或许希望借鉴Linux的某些抽象概念,以及RTOS的性能、大小和实时性。这将很有价值,我认为从理论这是可以做到的,只是之前没有人去做。”

规模的扩大

如果Fuchsia仅瞄准小型设备,那么可能不是那么值得关注。不过,Fuchsia的开发者有着更远大的目标。他们表示,这一操作系统也将可以用于智能手机和PC。从理论上来说,这将成为谷歌Android和Chrome OS的直接竞争对手。

那么,这样做的动机是什么?苏帕拉认为,从头开始开发将带来更高效的操作系统,而这样的操作系统也可以提升的效率。这是谷歌长期以来一直关注的问题。他还表示,对PC的支持意味着,开发者可以同时模拟运行大量小型设备,确保这些设备的规模化运转。

苏帕拉表示:“你可以搭建数千台服务器,每台服务器都同时运行软件应用的数千个拷贝。因此,对PC的支持意味着更适合测试。”

德迪乌则有着不同看法。谷歌这一新操作系统将解决困扰谷歌已久的Android知识产权授权问题。他表示:“由于这是全新的设计,因此不会存在有争议的知识产权。这是个合理的假设,因为Linux的知识产权问题很复杂。”

不过,这一切都还停留在理论上。Fuchsia的开发者表示,他们最终将发布这一操作系统及相关文档,不过这可能还有遥远的距离。目前尚不清楚,谷歌是否会向这项工作投入资源。Android生态系统已非常庞大(并且正在与Chromebook融合)。与此同时,谷歌也在基于Android开发物联网操作系统,即Brillo。这正在形成一个完整的平台,而不仅是简单的操作系统。

最初,Unix只是贝尔实验室的志愿者项目,没有得到任何组织的认可。而林纳斯·托瓦尔德斯(Linus Torvalds)最初开发Linux时也只是将其当作一个副业。或许未来几十年后,我们也可以对Fuchsia如何发源于谷歌侃侃而谈。

标签: Fuchsia

本文被转载1次

首发媒体 移动化那些事 | 转发媒体

随意打赏

linux 操作系统谷歌物联网操作系统谷歌开发新系统谷歌新logo中国操作系统谷歌系统手机国产操作系统操作系统升级谷歌新总部新谷歌地图
提交建议
微信扫一扫,分享给好友吧。